Xml-rpc-xml-rpc-request
提供:Dev Guides
XML-RPC-リクエスト形式
XML-RPCリクエストは、XMLコンテンツとHTTPヘッダーの組み合わせです。 XMLコンテンツは、データ型指定構造を使用してパラメーターを渡し、どのプロシージャが呼び出されているかを識別する追加情報を含みます。HTTPヘッダーは、Web経由で要求を渡すためのラッパーを提供します。
各リクエストには単一のXMLドキュメントが含まれ、そのルート要素は_methodCall_要素です。 各_methodCall_要素には、_methodName_要素と_params_要素が含まれます。 _methodName_要素は呼び出されるプロシージャの名前を識別しますが、_params_要素にはパラメーターとその値のリストが含まれます。 各_params_要素には、_value_要素を含むparam要素のリストが含まれます。
たとえば、(半径の)_Double_パラメーターを受け取る_circleArea_というメソッドにリクエストを渡すには、XML-RPCリクエストは次のようになります。
<?xml version="1.0"?>
<methodCall>
<methodName>circleArea</methodName>
<params>
<param>
<value><double>2.41</double></value>
</param>
</params>
</methodCall>
これらの要求のHTTPヘッダーには、送信者とコンテンツが反映されます。 基本的なテンプレートは次のようになります。
POST/target HTTP 1.0
User-Agent: Identifier
Host: host.making.request
Content-Type: text/xml
Content-Length: length of request in bytes
たとえば、circleAreaメソッドが_/xmlrpc_でリッスンしているXML-RPCサーバーから利用できる場合、リクエストは次のようになります。
POST/xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
組み立てられると、リクエスト全体は次のようになります。
POST/xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
<?xml version="1.0"?>
<methodCall>
<methodName>circleArea</methodName>
<params>
<param>
<value><double>2.41</double></value>
</param>
</params>
</methodCall>
これは通常のHTTPリクエストであり、慎重に構築されたペイロードがあります。