Please take a moment to read http://bit.ly/demandglobalchange, to help share the message and support the initiative to tell our leaders to focus on addressing the global world problems, instead of complaining about the effects of their lack of leadership. Be a leader yourself, and share this with as many people as possible. #demandglobalchange // https://www.facebook.com/demandglobalchange



Please consider donating: https://www.corelan.be/index.php/donate/


2,576 views | This page as PDF

Windows Live Writer unable to connect to WordPress Blog

Keywords : Invalid response document returned from XmlRpc server – System.Xml.XmlException: Unexpected end of file while parsing Name has occurred –

After moving my old Sharepoint based blog to WordPress, I have encountered some problems when trying to connect Windows Live Writer to WordPress. When trying to connect Live Writer to my blog, I received “Invalid response document returned from XmlRpc server”

The Windows Live Writer log file (Help – About Windows Live Writer – “Show log file”) indicated this :

Invalid response document returned from XmlRpc server
at WindowsLive.Writer.BlogClient.BlogClientBase.CreateAuthenticatedCredential()
at WindowsLive.Writer.BlogClient.BlogClientBase.Login()
at WindowsLive.Writer.BlogClient.Clients.BloggerCompatibleClient.GetUsersBlogs()
at WindowsLive.Writer.BlogClient.Detection.BlogAccountDetector.ValidateService()"," at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at WindowsLive.Writer.CoreServices.Diagnostics.LogFileTraceListener.Fail(String message)
at System.Diagnostics.TraceInternal.Fail(String message)
at System.Diagnostics.Trace.Fail(String message)
at WindowsLive.Writer.BlogClient.Detection.BlogAccountDetector.ReportError(Exception ex, MessageId errorMessageType, Object[] errorMessageParams)
at WindowsLive.Writer.BlogClient.Detection.BlogAccountDetector.ValidateService()
at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.AttemptRsdBasedDetection(IProgressHost progressHost, RsdServiceDescription rsdServiceDescription)
at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.DetectBlogService(IProgressHost progressHost)
at WindowsLive.Writer.CoreServices.Progress.ProgressWorker.DoWork()
at WindowsLive.Writer.CoreServices.Progress.MultipartAsyncOperation.DoWork()
at WindowsLive.Writer.CoreServices.AsyncOperation.InternalStart()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()"
WindowsLiveWriter,1.5428,Fail,00022,14-Oct-2008 22:21:10.930,"WindowsLive.Writer.BlogClient.Detection.BlogServiceDetectorBase+BlogAccountDetectorException: Blog account detector did not succeed
at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetectorBase.ReportErrorAndFail(MessageId errorMessageType, Object[] errorMessageParams)
at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.AttemptRsdBasedDetection(IProgressHost progressHost, RsdServiceDescription rsdServiceDescription)
at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.DetectBlogService(IProgressHost progressHost)"," at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at WindowsLive.Writer.CoreServices.Diagnostics.LogFileTraceListener.Fail(String message)
at System.Diagnostics.TraceInternal.Fail(String message)
at System.Diagnostics.Trace.Fail(String message)
at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.DetectBlogService(IProgressHost progressHost)
at WindowsLive.Writer.CoreServices.Progress.ProgressWorker.DoWork()
at WindowsLive.Writer.CoreServices.Progress.MultipartAsyncOperation.DoWork()
at WindowsLive.Writer.CoreServices.AsyncOperation.InternalStart()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()"
WindowsLiveWriter,1.5428,None,00023,14-Oct-2008 22:22:10.060,"Exception parsing XML-RPC response:

WindowsLive.Writer.CoreServices.XmlRpcClientInvalidResponseException: Invalid response document returned from XmlRpc server —> System.Xml.XmlException: Unexpected end of file while parsing Name has occurred. Line 18, position 16.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
at System.Xml.XmlTextReaderImpl.ParseEndElement()
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)








isAdmin1
url
http://www.corelan.be:8800/
blogid1
blogNamePeter Van Eeckhoutte’s Blog
xmlrpc
http://www.corelan.be:8800/xmlrpc.php





WindowsLiveWriter,1.5428,Fail,00024,14-Oct-2008 22:22:10.061,"WindowsLive.Writer.Extensibility.BlogClient.BlogClientInvalidServerResponseException: Invalid Server Response – The response to the blogger.getUsersBlogs method received from the weblog server was invalid:

If you look at the output of the xml (at the bottom of the log file), and/or if you use a web-mitm-proxy (Paros) /sniffer to look at the http communication, you can see that the xml file is in fact truncated. The methodResponse element is not closed, which results in an error within Windows Live Writer

image

This is caused because something (a plugin ? my webserver (IIS) ? something else ?) decided to add UTF-8 BOM to the XML-RPC response. Result : the xml response is 3 bytes longer than expected, which causes the xml response to be truncated.

Solution : find the class.IXR.php file (under wp-includes), edit the file, and look for

function output($xml)

FInd the line that calculates the length
$length = strlen($xml);

and replace it by

$length = strlen($xml)+3;

Save the file, and try again. Problem should now be solved.

2008, Corelan Team (corelanc0d3r). All rights reserved.

Related Posts:

2 Responses to Windows Live Writer unable to connect to WordPress Blog

  • Pingback: windows live writer+wordpress????? | ??

  • Pingback: znoe » 用Windows Live Writer(WLW)写Wordpress日志(解决连接出错)

Corelan Live training

Since 2011, Corelan GCV has been teaching live win32 exploit dev classes at various security cons and private companies & organizations.

You can read more about the training and schedules here

Demand Global Change

The world needs your help !

Please take a few moments to read the "Demand Global Change Call For Action" document at
http://bit.ly/demandglobalchange
Read the full document at
http://bit.ly/demandglobalchange_full and share the message with as many people as possible.

Like the Facebook page, and SHARE it with everyone you know.



Donate

Want to support the Corelan Team community ? Click here to go to our donations page.

Want to donate BTC to Corelan Team?



Your donation will help funding server hosting.

Protected by Copyscape Web Plagiarism Tool

Corelan Team Merchandise

You can support Corelan Team by donating or purchasing items from the official Corelan Team merchandising store.

Corelan on IRC

You can chat with us and our friends on #corelan (freenode IRC)

Categories