ヒマをみつけてWeb開発
その場の思い付きを、ヒマをみつけてWebサイトにしてみるブログ

PebbleのPing送信失敗

Wednesday, 20 September 2006 15:26 by sabro

このブログは、ややマイナーなPebbleというツールで構築しています。PebbleはJavaで書かれているのですが、他のJava製品にありがちな面倒な設定がなく、warファイルを配置するだけで設置完了というお手軽さが特徴です。

このPebbleにPing送信機能がついてたので設定してみたのですが、どうやら失敗していたようで以下のようなログが出ていました。

2006-09-20 01:23:17,306 [Thread-45] ERROR pebble.webservice.UpdateNotificationPingsClient - Exception when calling weblogUpdates.ping at http://ping.cocolog-nifty.com/xmlrpcjava.io.IOException: Invalid character data corresponding to XML entity ヒ        at org.apache.xmlrpc.XmlRpcClient$Worker.execute(XmlRpcClient.java:444)        at org.apache.xmlrpc.XmlRpcClient$Worker.executeAsync(XmlRpcClient.java:363)        at org.apache.xmlrpc.XmlRpcClient$Worker.run(XmlRpcClient.java:349)        at java.lang.Thread.run(Thread.java:534)

仕方ないので「XmlRpcClient Invalid character data corresponding to XML entity」で検索を掛けてみると、以下のページを発見。

Apache XML-RPCではまったこと

なんでもXML-RPCに日本語処理のバグがあるとか。(XML-RPC2.0では直っているらしいです。Pebbleが使っているのは、XML-RPC1.2-b1。)

仕方ないので、ここから、XML-RPCのソースをダウンロードしてXMLWriter.javaを1行修正。

if (c < 0x20 || c > 0xff)      ↓if (c < 0x20)

Antでビルドして、できたxmlrpc-1.2-b1.jarをPebbleが使っているものと置き換えてみました。

これで直っていたらこの記事を送信後、Pingが飛ぶはずです。

Tags:   ,
Categories:   Java
Actions:   Permalink | Comments (36) | Comment RSSRSS comment feed