Top > xtra > php_manual > xmlrpc > xmlrpc_server_create

* 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 
メソッドが標準で利用できます。

    Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes

© 2006-2008 Internet Revolution