XML_RPCのクライアントを開発するとき、ダミーでサーバが必要になります。
手っ取り早いダミーとして、PHPのPEAR::XML_RPC2が便利です。以前クライアント側は紹介しましたが、今回はサーバの超基本的な使い方。
ダウンロード
- http://pear.php.net/package/XML_RPC2からダウンロードできます。
使い方
適当な場所に設置したら、以下のようにincludeして、各アクションに対応する関数を定義します。
そして、XML_RPC_Serverでアクション名と実行するアクションの対応を配列で渡せばOKです。
require_once("XML/RPC.php");
require_once("XML/RPC/Server.php");
$GLOBALS['XML_RPC_defencoding'] = "UTF-8";
function version($params) {
return new XML_RPC_Response(new XML_RPC_Value('1.0', 'string'));
}
function average($params) {
$v1 = $params->getParam(0)->scalarval();
$v2 = $params->getParam(1)->scalarval();
return new XML_RPC_Response(new XML_RPC_Value($v1 + $v2, 'int'));
}
new XML_RPC_Server(array(
"Test.version" => array("function" => "version"),
"Test.average" => array("function" => "average"),
));
とってもかんたん。