XML-RPC してみる
XML-RPC は簡単に言ってしまえば...
インターネット上のサービスを簡単に実行するための仕組み。
もちろん サーバとのやり取りには XML を使う。
当然、サービスを提供する側が XML-RPC に対応していないとダメ。
XML-RPC の良いところは、
- REST と違い ちゃんと仕様が決まっていること。
- SOAP と違い 仕様が複雑でないこと。
これは、ライブラリを作る上では非常に重要な要素で、実際 XML-RPC は多くの言語で実装されている。
もちろん、JavaFX で使えるライブラリも存在する。
と言っても、Java のライブラリなのだが...
既存の Java ライブラリがそのまま利用できるのも JavaFX の良いところかな。
今回は、Apache XML-RPC 3.1.2 を使ってみることに...
プロジェクトページは こちら
まずは Apache XML-RPC をダウンロードして、解凍したファイルの中から
- ws-commons-util-1.0.2.jar
- xmlrpc-common-3.1.2.jar
- xmlrpc-client-3.1.2.jar
基本的な使い方はこんな感じ...
import java.net.URL; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; // URL 設定 def config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL("http://b.hatena.ne.jp/xmlrpc")); // XmlRpcClient 生成 def client = new XmlRpcClient(); client.setConfig(config); // はてなブックマーク件数取得API 実行 // 第一引数: メソッド名 // 第二引数: パラメータ (配列) println(client.execute("bookmark.getTotalCount", [ "http://d.hatena.ne.jp/bluepapa32/" ]));リフレクションを使ってメソッドを invoke するのとほぼ同じで とっても簡単!!
今回は 最も簡単と思われる XML-RPC のサービス
はてなブックマーク件数取得APIを実行して、(とっても少ない...) 本ブログのはてなブックマークの数を標準出力してみた。
XML-RPC のことなんて何も知らなくても
たった 5行のコードを書くだけで 誰でも WEB サービスを実行できてしまうのだ。
このように とっても簡単な XML-RPC ではあるが、JavaFX で利用する上で気を付けなくてはならない点もある。
それは また次回...