Correction d'un problème Windows Live Writer avec WordPress
J'ai toujours été en utilisant Windows Live Writer (WLW) par écrit mes blogs et traverser les affichant à la fois le site WordPress www.ningzhang.org et le site Blogger blog.ningzhang.org , très pratique. Hier, j'ai rencontré des problèmes d'ouverture et annonce à mon WordPress site en utilisant Windows Live Writer: un message d'erreur obtenu en disant
Réponse du serveur non valide - La réponse à la méthode metaWeblog.newMediaObject reçu du serveur de blog n'est pas valide
J'ai cherché sur le web, essayé quelques petites choses, et résolu le problème assez rapidement. Partager mes conclusions ici dans l'espoir qu'il peut être utile pour d'autres rencontrez des problèmes similaires.
Connexion Windows Live Writer
WLW a log assez bonne. Ouvrez Aide-> À propos de Windows Writer élément de menu en direct:
Vous verrez le propos de dialogue, cliquez sur le lien Afficher le fichier journal:
![]()
le dossier "% localappdata% \ Windows Live Writer" apparaîtra, qui contient "Windows Live Writer.log" fichier. J'ai copié journal des erreurs pertinentes ci-dessous. Trace de la pile Très bon, très utile pour le débogage et le diagnostic ![]()
WindowsLiveWriter, 1,7696, Fail ,00031,30-Apr-2009 01:28:58.595, "WindowsLive.Writer.Extensibility.BlogClient.BlogClientInvalidServerResponseException: Réponse du serveur non valide - La réponse à la méthode metaWeblog.newMediaObject reçu du serveur de blog n'est pas valide: Blancs document de réponse retourné à partir du serveur XmlRpc à WindowsLive.Writer.BlogClient.Clients.XmlRpcBlogClient.CallMethod (String methodName, XmlRpcValue [] paramètres) à WindowsLive.Writer.BlogClient.Clients.MetaweblogClient.DoBeforePublishUploadWork (IFileUploadContext uploadContext) à WindowsLive.Writer.PostEditor . WeblogBlogFileUploader.DoUploadWorkBeforePublish (IFileUploadContext uploadContext) à WindowsLive.Writer.PostEditor.BlogPostReferenceFixer.FileUploadWorker.DoUploadWork (FileReference String, BlogFileUploader fileUploader, Boolean isWindowsLiveLightboxCloneEnabled) à WindowsLive.Writer.PostEditor.BlogPostReferenceFixer.LocalFileTransformer.Transform (BeginTag tag, la référence String) à tag, String référence) à WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.OnBeginTag (tag BeginTag) à WindowsLive.Writer.CoreServices.LightWeightHTMLDocumentIterator.Parse () à WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.FixReferences (sortie TextWriter, ReferenceFixer referenceFixer, ReferenceFixedCallback referenceFixed) à WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.FixReferences (String html, ReferenceFixer fixateur, ReferenceFixedCallback referenceFixed) à WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.FixLocalFileReferences (String html, ReferenceFixer fixateur, ReferenceFixedCallback referenceFixed) à WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.FixLocalFileReferences (String html, ReferenceFixer fixateur) à à WindowsLive.Writer.PostEditor.UpdateWeblogAsyncOperation.DoWork () à WindowsLive.Writer.CoreServices.AsyncOperation.InternalStart () "," à System.Environment.GetStackTrace (Exception e, Boolean needFileInfo) à System.Environment.get_StackTrace () à WindowsLive . Writer.CoreServices.Diagnostics.LogFileTraceListener.Fail (String message) à System.Diagnostics.TraceInternal.Fail (String message) à System.Diagnostics.Trace.Fail (String message) à WindowsLive.Writer.PostEditor.BlogPostEditingManager.UpdateWeblog (Boolean publier) à WindowsLive.Writer.PostEditor.BlogPostEditingManager.PostToWeblog (Boolean publication) à WindowsLive.Writer.PostEditor.BlogPostEditingManager.PublishAsDraft () à WindowsLive.Writer.PostEditor.PostEditorMainControl.commandPostAsDraft_Execute (Object sender, EventArgs e) à WindowsLive.Writer. ApplicationFramework.Command.RaiseEvent (Object eventKey, EventArgs e) à WindowsLive.Writer.ApplicationFramework.Command.OnExecute (EventArgs e) à WindowsLive.Writer.ApplicationFramework.CommandOwnerDrawMenuItem.OnClick (EventArgs e) à System.Windows.Forms.MenuItem.MenuItemData . Execute () à System.Windows.Forms.Command.Invoke () à System.Windows.Forms.Command.DispatchID (Int32 id) à System.Windows.Forms.Control.WmCommand (Message & m) à System.Windows.Forms . Control.WndProc (Message & m) à System.Windows.Forms.ScrollableControl.WndProc (Message & m) à System.Windows.Forms.ContainerControl.WndProc (Message & m) à System.Windows.Forms.Form.WndProc (Message & m) à WindowsLive.Writer.ApplicationFramework.ApplicationForm.WndProc (Message & m) à WindowsLive.Writer.ApplicationFramework.SatelliteApplicationForm.WndProc (Message & m) à System.Windows.Forms.Control.ControlNativeWindow.OnMessage (Message & m) à System.Windows.Forms . Control.ControlNativeWindow.WndProc (Message & m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.NativeWindow.DefWndProc (Message & m) à système. Windows.Forms.NativeWindow.WndProc (Message & m) à m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.NativeWindow.DefWndProc (Message & m) à System.Windows.Forms.NativeWindow.WndProc ( Message & m) à m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.NativeWindow.DefWndProc (Message & m) à System.Windows.Forms.NativeWindow.WndProc ( Message & m) à m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.NativeWindow.DefWndProc (Message & m) à System.Windows.Forms.NativeWindow.WndProc ( Message & m) à m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.NativeWindow.DefWndProc (Message & m) à System.Windows.Forms.NativeWindow.WndProc ( Message & m) à m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.NativeWindow.DefWndProc (Message & m) à System.Windows.Forms.NativeWindow.WndProc ( Message & m) à m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.NativeWindow.DefWndProc (Message & m) à System.Windows.Forms.NativeWindow.WndProc ( Message & m) à m) à System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (MSG & msg) à dwComponentID, la raison Int32, Int32 pvLoopData) à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner (Int32 raison, ApplicationContext contexte) au System.Windows.Forms.Application.ThreadContext.RunMessageLoop (Int32 raison, ApplicationContext contexte) au System.Windows . Forms.Application.Run (formulaire mainForm) à WindowsLive.Writer.ApplicationFramework.SatelliteApplicationForm.Launcher.ThreadMain (Object [] paramètres) à WindowsLive.Writer.CoreServices.Threading.ThreadStartWithParams.Run () à System.Threading.ThreadHelper.ThreadStart_Context (Object state) à System.Threading.ExecutionContext.Run (ExecutionContext ExecutionContext, rappel ContextCallback, Object state) à System.Threading.ThreadHelper.ThreadStart () "
Il est le plug-in Gold Star Rating!
Depuis WLW a toujours travaillé très bien avec mon site WordPress jusqu'à maintenant, alors je soupçonne que c'est certains changements récents sur mon site WordPress, et les plus probables mises à jour le plug-in des dernières années, alors j'ai essayé de désactiver les plugins un par un. J'ai eu la chance! Comme je savais ce que j'ai mis à jour des plugins derniers temps, alors j'ai d'abord désactivé le plugin Note d'or Démarrer , puis utilisez WLW pour ouvrir et afficher, et cela a fonctionné!
Mises à jour
05/05/2009
J'ai couru dans cette erreur à nouveau lors de la publication d'un poste à partir de Windows Live Writer:

Windows Live Writer journal montre message d'erreur semblable et la pile des appels comme avant. J'ai ouvert error_log sous le répertoire racine de mon site WordPress, il a quelque chose comme ceci:
05-mai-2009 08:10:59] PHP Fatal error: taille de la mémoire admis de 33554432 octets épuisé (essayé d'allouer 865469 octets) dans / [supprimé] / wp-includes/class-IXR.php sur la ligne 242
et la ligne 242 de la classe-IXR.php est la deuxième ligne ci-dessous:
: cas 'base64': ->_currentTagContents ) ); $ Value = base64_decode (trim ($ this -> _currentTagContents)); $ ValueFlag = true; break;
Donc, on dirait qu'il a manqué de mémoire tout en base64_decode une image. J'ai enlevé la plus grande image dans mon post, poster projet de blog, et elle a réussi. J'ai ensuite modifié le projet de partir WordPress interface web, sélectionnez Ajouter une image de l'ordinateur et insérez-le à poster:
et elle a réussi.
Je ne sais pas vraiment WordPress ou PHP en tant que développeur, donc si quelqu'un sait comment faire cela mieux, s'il vous plaît faites le moi savoir. Une approche générale novice utilisateur semble:
- poster projet au serveur souvent d'identifier l'image trublion alors que vous êtes de création
- télécharger et insérer l'image pour afficher de WordPress interface web










Commentaires récents