11.22.1 ServerProxy オブジェクト

ServerProxyインスタンスの各メソッドはそれぞれXML-RPCサーバの遠隔 手続き呼び出しに対応しており、メソッドが呼び出されると名前と引数をシグネ チャとしてRPCを実行します(同じ名前のメソッドでも、異なる引数シグネチャに よってオーバロードされます)。RPC実行後、変換された値を返すか、または FaultオブジェクトもしくはProtocolErrorオブジェクトでエ ラーを通知します。

予約メンバsystemから、XMLイントロスペクションAPIの一般的なメソ ッドを利用する事ができます。

system.listMethods( )
XML-RPCサーバがサポートするメソッド名(system以外)を格納する文字列のリス トを返します。

system.methodSignature( name)
XML-RPCサーバで実装されているメソッドの名前を指定し、利用可能なシグネチ ャの配列を取得します。シグネチャは型のリストで、先頭の型は戻り値の型を示 し、以降はパラメータの型を示します。

XML-RPCでは複数のシグネチャ(オーバロード)を使用することができるので、単 独のシグネチャではなく、シグネチャのリストを返します。

シグネチャは、メソッドが使用する最上位のパラメータにのみ適用されます。例 えばあるメソッドのパラメータが構造体の配列で戻り値が文字列の場合、シグネ チャは単に"文字列, 配列" となります。パラメータが三つの整数で戻り値が文 字列の場合は"文字列, 整数, 整数, 整数"となります。

メソッドにシグネチャが定義されていない場合、配列以外の値が返ります。 Pythonでは、この値はlist以外の値となります。

system.methodHelp( name)
XML-RPCサーバで実装されているメソッドの名前を指定し、そのメソッドを解説 する文書文字列を取得します。文書文字列を取得できない場合は空文字列を返し ます。文書文字列にはHTMLマークアップが含まれます

イントロスペクション用のメソッドは、PHP・C・Microsoft .NETのサーバなどで サポートされています。UserLand Frontierの最近のバージョンでもイントロス ペクションを部分的にサポートしています。Perl, Python, Javaでのイントロス ペクションサポートについてはXML-RPC Hacksを参照してください。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。