今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

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もある。

いろいろと謎である。

タイトルに「対策」と書いたのに、対策を書けないまま。

タイトル詐欺である。