いくつかの XML-RPC サーバはビルトインメソッドを提供します。そ れらは XML-RPC それ自身のものではありませんが、とても便利な追加機能 です。
Edd Dumbill は次のメソッドの組みを提案し ました。
array system.listMethods () string system.methodHelp (string methodName) array system.methodSignature (string methodName) |
サーバがこれらのメソッドをサポートする場合、あるドキュメンテー ションを印字するためにサーバへ問い合わせができます -
import xmlrpclib server = xmlrpclib.Server("http://xmlrpc-c.sourceforge.net/api/sample.php") for method in server.system.listMethods(): print method print server.system.methodHelp(method) print |
これらのメソッドは PHP および C、Microsoft .NET で書かれたサー バによりサポートされています。部分的なイントロスペクションのサポー トは最近になって UserLand Frontier にも組み込まれています。Perl お よび Python, Java 用のイントロスペクションのサポートは XML-RPC Hacks のページで入手できます。どうぞ、遠慮なくイ ントロスペクションのサポートを他の XML-RPC サーバに追加してくださ い!
様々なクライアント側のツール (ドキュメンテーション、ラッパー 生成等等) も XML-RPC Hacks のページで見つけられます。
多くのファンクションコールをする XML-RPC クライアントを書い ているなら、インターネットのバックボーンのレーテンシー (待ち時間) が短いおかげで、応答時間がかなり速いことを気づくかもしれません。い くつかのサーバは次の機能を使うことで複数の要求を一括処理 (batching) できます。
array system.multicall (array calls) |
追加情報は system.multicall RFC より得てください。
現在、このメソッドは C および UserLand Frontier で書かれたサー バでサポートされています。Python および Perl で書かれたサーバは XML-RPC Hacks のページにあるプログラムを利用できます。