##
11.20.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を参照してください。