Windows Live Writer e WordPress: errore Invalid response document returned from XmlRpc server
In alcune circostanze può capitare che Windows Live Writer non riesca a interfacciarci con un Blog basato su WordPress, restituendo questo errore ogni volta che si cerca di aggiungere un account:
Nonostante i parametri siano tutti corretti non c’è verso di farlo comunicare con l’XmlRpc Server.
Dopo ore passate ad analizzare i log di Windows Live Writer, che si trova nella directory C:\Users\<utente>\AppData\Local\Windows Live Writer\Windows Live Writer.log, ho notato un elemento interessante:
</value>
</param>
</params>
</methodRespons",""
WindowsLiveWriter,1.7416,Fail,00018,12-Apr-2012 12:37:05.651,"WindowsLive.Writer.Extensibility.BlogClient.BlogClientInvalidServerResponseException: Invalid Server Response – The response to the blogger.getUsersBlogs method received from the blog server was invalid:
in particolare la riga:
</methodRespons",""
sembra essere malformata.
Sono quindi andato alla ricerca del file che la generasse e ho trovato la soluzione nel file /wp-includes/class-IXR.php dove attorno alla riga 402 troviamo la parte di codice che genera quella parte di XML:
// Create the XML
$xml = <<<EOD
<methodResponse>
<params>
<param>
<value>
$resultxml
</value>
</param>
</params>
</methodResponse>EOD;
nonostante sembra tutto corretto, ho provato ad aggiungere 4 o 5 righe vuote prima di EOD:
</param>
</params>
</methodResponse>
EOD;
ho salvato il file e ho ripravo.
Magicamente ora ha funziona tutto!!