* xmlrpc_server_create [#j986f38d] xmlrpc サーバを作成します。作成されたサーバインスタンスは PHP リソース型でアクセスすることになります。 ** 説明 [#ede73f52] resource xmlrpc_server_create(void) ** パラメータ [#xcaa578a] なし ** 返り値 [#j2983ff4] xmlrpc サーバを示す PHP リソース型。 ** 例 [#f1a1b8d9] 次の例は、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 レスポンスを返したい場合は // ちなみに 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