Definitivo: Invalid Response Document Returned from XMLRPC Server

Autor: Rafael Carvalho

11/02/2009 - 23:00

Acabei de migrar para o DreamHost e já passei por diversos bugs e fails de transferência. Para começar: a versão do PHP era diferente e causou conflito em alguns arquivos do layout. Depois a troca do DNS, que estava indo para o Google Apps, mesmo sendo configurado direitinho no DreamHost. Agora veio o mais trabalhoso: Erro do Windows Live Writer para o Wordpress.

Wordpress e  Windows Live Writer (WLW) erro:

Invalid response document returned from XmlRpc server

Existem diversas soluções pela web. Alguns conseguem por essas. Mas no meu caso, nenhuma me serviu. Primeiro vou listar as soluções encontradas na WEB.

Solução 1: Arquivo class-IXR.php alterado ou removido

Confira se existe o arquivo class-IXR.php na pasta wp-includes do wordpress. Caso não exista, crie um e cole este código. Confira se ele não está alterado também.

Solução 2: Lowercase para nomes de arquivo

Confira se o seu programa de FTP não está transformando os arquivos em lowercase (caixa-baixa).  O arquivo class-IXR.php, por exemplo, tem que estar nomeado da maneira que está escrito aqui. Caso esteja class-ixr.php, renomeie.

Solução 3: Filtro de Segurança ativado

Em alguns servidores, o SecFilter pode estar ativado. Com isso, gera um conflito no XMLRPC. Para reverter a situação, edite seu .htacess no diretório do blog, adicionando as seguintes linhas logo no início do arquivo:

<Files xmlrpc.php>SecFilterInheritance Off</Files>
 

Solução 4: Plugins

Desative TODOS os plugins do seu wordpress. Desative tudo o que possa ser desativado.

————-

Esses foram as quatro maneiras que muitas pessoas conseguiram resolver o problema. Mas se você chegou até aqui e seguiu todos esses passos, então essa é a solução:

Solução Definitiva

1. Abra o arquivo class-IXR.php

2. Localize a linha $length = strlen($xml);

3. Substitua por $length = strlen($xml)+3;

4. Salve, feche, faça o upload e teste!

Um simples “+3” resolveu o que fiqui por HORAS tentando solucionar. Cheguei a usar proxys, snippers, analizar logs e tudo mais. Mas nada adiantou.

Esse erro, neste caso, acontece logo no final de quando é gerado o arquivo XMLRPC. Ele fecha o arquivo escrevendo a tag </method> por incompleto, devido à configuração do servidor que fez com que o XML fosse criado com UTF-8 e não ISO 8859-1, quebrando alguns encodes.

Diga uma opinião:

Atenção: Os campos em negrito são obrigatórios. Seu email não será revelado para outros usuários e não será utilizado em listas de spans ou newsletters. Os comentários com conteúdo irrelevante, com palavras improprias ou com caráter agressivo serão excluídos sem qualquer aviso.


Tags disponíveis: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Gravatar
Erick:


Boa tarde..

eu tenho um problema desse tipo, aqui da assim

An error occurred while attempting to connect to your blog:

Invalid Server Response – The response to the blogger.getUsersBlogs method received from the blog server was invalid:

Invalid response document returned from XmlRpc server

You must correct this error before proceeding.

onde q meche nessa funçao get user?

agradeço ai

abraço

Gravatar
Erick:


ow perdão.. consegui desabilitando os plugins.. vo tenta ir habilitando um por um pra ve qual da conflito

grato ai e desculpa pelo flood :-)

Gravatar
RobsonB:


Minha nossa… MEUS PARABÉNS, eu recai no mesmo problema e a sua solução definitiva foi a ÚNICA que resolveu meu problema… MEUS PARABÉNS fera, e MUITO MUITO obrigado pela postagem.

[]’s
RobsonB

Gravatar
RobsonB:


Tive de mudar a configuração para imagens tbm com o http://FTP... mas isso é troco perto da solução do problema! =D

Gravatar
Moderno:


Parabéns. Muito obrigado, este “+3″ da solução definitiva me salvou!

Gravatar
Gersio:


Fantástico !! porém só funcionou mesmo na última alternativa…

Certamente economizei algumas boas horas de trabalho.

Parabéns pela dica !!

Gravatar
Alex:


um simples “+3″? Muito boa dica, valeu!