xmlrpc_server_createxmlrpc サーバを作成します。作成されたサーバインスタンスは PHP リソース型でアクセスすることになります。 説明resource xmlrpc_server_create(void) パラメータなし 返り値xmlrpc サーバを示す PHP リソース型。 例次の例は、XML-RPC サーバの実装例です。 <?php # php://input で HTTP POST で渡される XML ドキュメントを取り込みます。 $xml = file_get_contents('php://input'); # xmlrpc サーバに登録する callback 関数は 3 つの引数を取ります。 function php_trim($methodName, $args, $user_data){ return trim($args[0]); // ちなみに XML-RPC の fault レスポンスを返したい場合は // 次のように faultCode, faultString を持った配列を返すと実現できます。 // return array('faultCode'=>-1234, 'faultString'=>'some error'); } $server = xmlrpc_server_create(); xmlrpc_server_register_method($server, 'php.trim', 'php_trim'); $response = xmlrpc_server_call_method($server, $xml, null); header('Content-type: text/xml'); echo $response; xmlrpc_server_destroy($server); ?> xmlrpc_server_create で作成した XML-RPC サーバではイントロスペクションが サポートされていて、たとえば system.listMethods はユーザが登録した メソッドも含めて正しく一覧表示します。 イントロスペクションの説明をさらに追加する場合は、 xmlrpc_server_add_introspection_data や xmlrpc_server_register_introspection_callback を使って、 イントロスペクション記述情報を登録します。 xmlrpc_server_create で作成した XML-RPC サーバでは system.multiCall メソッドが標準で利用できます。 |
© 2006-2008 Internet Revolution