Support » Fixing WordPress » Windows Live Writer unable to retrieve posts

  • Resolved eksplorr

    (@eksplorr)


    I am trying to use Windows Live Writer (version 2012 – build 16.4.3528.331) so that I can edit posts offline and post to my blog when I have access to internet. I am using WordPress 3.9.1 hosting on godaddy.

    I can create a blog entry using Live Writer and post it successfully. I can also connect to my blog and download the current theme and I can download pages from the blog. What I can’t do is download existing posts.

    When I try to download posts, I get the following error:
    The response to the metaWeblog.getRecentPosts method received from the blog server was invalid:

    Invalid response document returned from XmlRpc server

    When I look at the Live Writer log file I can see the text of my posts are in the log but there is also an error message. I’ve tried disabling plugins (generally I only use one – “Easy iFrame Loader”) and changing to different themes.

    any help is appreciated. here’s my log file (truncated) with the error message and a test post that was retrieved:

    WindowsLiveWriter,1.2900,None,00106,17-May-2014 08:12:08.243,”Exception parsing XML-RPC response:

    WindowsLive.Writer.CoreServices.XmlRpcClientInvalidResponseException: Invalid response document returned from XmlRpc server —> System.Xml.XmlException: ”, hexadecimal value 0x01, is an invalid character. Line 1050, position 275.
    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
    at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
    at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String[] args)
    at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Int32 pos, Char invChar)
    at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
    at System.Xml.XmlTextReaderImpl.ParseText()
    at System.Xml.XmlTextReaderImpl.ParseElementContent()
    at System.Xml.XmlTextReaderImpl.Read()
    at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
    at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
    at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
    at System.Xml.XmlDocument.Load(XmlReader reader)
    at System.Xml.XmlDocument.LoadXml(String xml)
    at WindowsLive.Writer.CoreServices.XmlRpcMethodResponse..ctor(String responseText)
    — End of inner exception stack trace —
    at WindowsLive.Writer.CoreServices.XmlRpcMethodResponse..ctor(String responseText)
    at WindowsLive.Writer.CoreServices.XmlRpcClient.CallMethod(String methodName, XmlRpcValue[] parameters)

    <?xml version=””1.0″” encoding=””UTF-8″”?>
    <methodResponse>
    <params>
    <param>
    <value>
    <array><data>
    <value><struct>
    <member><name>dateCreated</name><value><dateTime.iso8601>20140517T12:07:27</dateTime.iso8601></value></member>
    <member><name>userid</name><value><string>1</string></value></member>
    <member><name>postid</name><value><string>1170</string></value></member>
    <member><name>description</name><value><string><p>another test</p></string></value></member>
    <member><name>title</name><value><string>test post 2</string></value></member>
    <member><name>link</name><value><string>http://blog.sunpond.com/?p=1170</string></value></member&gt;
    <member><name>permaLink</name><value><string>http://blog.sunpond.com/?p=1170</string></value></member&gt;
    <member><name>categories</name><value><array><data>
    <value><string>Uncategorized</string></value>
    </data></array></value></member>
    <member><name>mt_excerpt</name><value><string></string></value></member>
    <member><name>mt_text_more</name><value><string></string></value></member>
    <member><name>wp_more_text</name><value><string></string></value></member>
    <member><name>mt_allow_comments</name><value><int>1</int></value></member>
    <member><name>mt_allow_pings</name><value><int>1</int></value></member>
    <member><name>mt_keywords</name><value><string></string></value></member>
    <member><name>wp_slug</name><value><string>test-post-2</string></value></member>
    <member><name>wp_password</name><value><string></string></value></member>
    <member><name>wp_author_id</name><value><string>1</string></value></member>
    <member><name>wp_author_display_name</name><value><string>Bruce</string></value></member>
    <member><name>date_created_gmt</name><value><dateTime.iso8601>20140517T12:07:27</dateTime.iso8601></value></member>
    <member><name>post_status</name><value><string>publish</string></value></member>
    <member><name>custom_fields</name><value><array><data>
    </data></array></value></member>
    <member><name>wp_post_format</name><value><string>standard</string></value></member>
    <member><name>date_modified</name><value><dateTime.iso8601>20140517T12:07:27</dateTime.iso8601></value></member>
    <member><name>date_modified_gmt</name><value><dateTime.iso8601>20140517T12:07:27</dateTime.iso8601></value></member>
    <member><name>sticky</name><value><boolean>0</boolean></value></member>
    <member><name>wp_post_thumbnail</name><value><string></string></value></member>
    </struct></value>

Viewing 4 replies - 1 through 4 (of 4 total)
  • Pioneer Web Design

    (@swansonphotos)

    The issue is the illegal characters that are (most likely) stored in the db.

    Invalid response document returned from XmlRpc server —> System.Xml.XmlException: ‘’, hexadecimal value 0x01, is an invalid character. Line 1050, position 275.

    0x01 is an ASCII Control Character and is not allowed in XML.

    The error may also be due to the encoding of the db, errors in the db, etc.

    Review how to clean up the db and how to find/remove the errors.

    See this article:

    http://digwp.com/2011/07/clean-up-weird-characters-in-database/

    And please heed this warning: backup site and perform a full backup of the db prior to any direct edits in phpMyAdmin. Failing to do so and making an error while editing your db can completely break your site. Use a search function first prior to doing the replace.

    eksplorr

    (@eksplorr)

    Thank you! Thank you! Thank you! This has been bugging me for months. I looked at the characters in the article you referenced and wasn’t able to find those in my database. But it did get me going down the path of trying to find the problem post.

    I added a bunch of test posts and used Live Writer to retrieve the latest 20 posts. When Live Writer successfully retrieved 20 posts, I began deleting test posts one at a time and re-retrieving from Live Writer until I hit an error. This allowed me to identify the problem post.

    Then I deleted portions of that post until I found the problem text. I’ve copied the problem block below. I never figured out which characters were causing Live Writer to choke – in the end I just deleted and reinserted the picture.

    [caption id="attachment_841" align="alignleft" width="300"]<a href="http://sunpond.com/wordpress/wp-content/uploads/2012/07/Mexico_20120730_174_whale_shark-web.jpg"><img class="size-medium wp-image-841" title="" src="http://sunpond.com/wordpress/wp-content/uploads/2012/07/Mexico_20120730_174_whale_shark-web-300x225.jpg" alt="" width="300" height="225" /></a> Apparently my survival instincts were a little rusty - I managed to get a nice picture before I suddenly realized I should get the hell out of the way.[/caption]

    Thanks for your help!
    -bruce

    Bruce / Eksplorr – your solution worked, obviously, but is it known whether the illegal hexadecimal character was, in fact, in one of your blog posts or in the db (and your procedure simply ended up clearing that)? Pioneer Valley’s post suggested the error might have been in the db.

    I have the same problem now on my wordpress site with retrieving posts using both Windows Live Writer and ScribeFire, except that the Ubuntu client Blogilo will correctly retrieve all my previous posts. Does anyone know where ScribeFire’s error logs go? I don’t want to just rely on Blogilo if the error might, in future, end up confounding Blogilo too.

    If the illegal character is in the db, is this quite a common problem that the WordPress community itself might provide tools to fix? I am uneasy about an ad hoc phpmyadmin manipulation as I don’t know if this will end up being something I have to do repeatedly.


    Danny

    The amazing Rarst solved this. She suggested I run my site through validator.w3.org. Amidst the other W3C errors, the site finds invalid hexadecimal characters. Chrome won’t show them (but Rarst says Opera does). I copied the sections over to my GNUemacs window, and sure enough they all appeared. Going through these cleared up all my problems and now WLW, ScribeFire, Qumana, and likely all other weblog clients work for me.

    Many, many thanks, Rarst!

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Windows Live Writer unable to retrieve posts’ is closed to new replies.