xmlrpc.phpで投稿するときに「parse error. not well formed」が出るときの対策
XMLRPCでWordPressに記事を投稿したときに、こんなエラーが出た。
うまくいくときもあれば、エラーになるときもある。
警告: main::Post 記事投稿で失敗, status=parse error. not well formed org.apache.xmlrpc.XmlRpcException: 構文解析エラー。not well formed at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:197)
HTMLタグが多いときに発生している雰囲気。
いろいろとぐぐってみたら、こんな対策が。
これの3番めにあるモジュールの訂正。
xmlrpc.php の27行目あたりを修正しろと。
この部分を、
$HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA);
このように。
$HTTP_RAW_POST_DATA = mysql_escape_string(trim($HTTP_RAW_POST_DATA));
これで投稿はできるようになったけど、HTMLのタグがエスケープされててきちんと表示されないし。
だめじゃん。
で、いまのところ解決策は見つからないまま。
同じコードで問題なく記事を投稿できるWordPressもあるんだけど、できないWordPressもある。
いろいろと謎である。
タイトルに「対策」と書いたのに、対策を書けないまま。
タイトル詐欺である。