xmlrpc_server_register_introspection_callbackxmlrpc introspection XML を返す PHP 関数を登録します。 xmlrpc introspection XML については http://xmlrpc-epi.sourceforge.net/specs/rfc.system.describeMethods.php 説明bool xmlrpc_server_register_introspection_callback(resource $server, string $function) パラメータ
返り値関数登録成功時 TRUE、失敗時 FALSE。 例<?php # php://input で HTTP POST で渡される XML ドキュメントを取り込みます。 $xml = file_get_contents('php://input'); # xmlrpc サーバに登録する callback 関数は 3 つの引数を取ります。 function sample_noop($methodName, $args, $user_data){ } # introspection xml を生成して返します。 function sample_introspection($user_data){ return '<?xml version="1.0" ?> <introspection version="1.0"> <methodList> <methodDescription name="sample.noop"> <author>Hiroaki Kawai</author> <purpose>no-operation server that might be useful for debugging.</purpose> <version>0.1</version> <signatures> <signature> </signature> </signatures> </methodDescription> </methodList> </introspection>'; } $server = xmlrpc_server_create(); xmlrpc_server_register_method($server, 'sample.noop', 'sample_noop'); xmlrpc_server_register_introspection_callback($server, 'sample_introspection'); $response = xmlrpc_server_call_method($server, $xml, null, array('escaping'=>'markup','encoding'=>'UTF-8')); header('Content-type: text/xml'); echo $response; xmlrpc_server_destroy($server); ?> xmlrpc_server_add_introspection_data を使うと、 PHP 配列の形式でイントロスペクション情報が定義できます。 introspection xml から PHP 配列の形式への変換は xmlrpc_parse_method_descriptions で行えます。 |
© 2006-2008 Internet Revolution