« XML-RPCとりあえず動く |Main| GRINEditのマウス制御部分… »

« Singleton | Java | クラスがたくさんあるJavaアプレットのappletタグの書き方 »

JavaでXML-RPCを使うには

Java での XML-RPC の使い方の内容は参考になりますが、多少古い&足りないので補完記事を書いてみます。

上記の記事で使われているライブラリ「helma.xmlrpc.*」はApache XML-RPCに移動しました。「import helma.xmlrpc.*;」の代わりに「import org.apache.xmlrpc.*;」を使う必要があります。

新しいライブラリはApache Download Mirrors - The Apache Software Foundationから近いミラー(日本人ならhttp://www.meisei-u.ac.jpかな?)を選んでダウンロードします。このときに、間違えてバージョン3をダウンロードするとあるはずのメソッドがなくて悩みます。xmlrpc-current-bin.tar.gzではなく、binaryディレクトリのxmlrpc-2.0.zipをダウンロードするとよいと思います。

また、Codec - Commons Codecも必要です。The Jakarta Site - Commons Codec Downloadsから最新のバイナリをダウンロードします。

上記二つのライブラリを解凍し、適当な場所において、Eclipseのビルドパスの設定で「外部JARの追加」をします。(もしEclipseを使っているのなら)

そうすると後はJava での XML-RPC の使い方を参考にWebServerインスタンスを作り、それに適当なクラスのインスタンスをハンドラとして渡してやれば、XML-RPCでそのクラスのpublicメソッドを呼べるようになります。ただし、WebServerインスタンスのstartメソッドを呼んでサーバを開始するのを忘れないように。

WinXPユーザーなら、自作のXML-RPCサーバが最初に起動したときにWindowsファイヤーウォール(か自分で入れたファイヤーウォール)が警告画面を出すかと思います。

また、ソフトウェアの終了時にサーバのshutdownメソッドを呼ばないと、ウィンドウは消えたままサーバだけ動き続けることもあります。次回起動時に「使おうとしたポートが開いていない」とエラーになってしまうので気をつけてshutdownしましょう。

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/67

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.