XML-RPC

XML-RPCとは、遠隔手続き呼出し (RPC) プロトコルの一種であり、エンコード（符号化）にXMLを採用し、転送機構にHTTPを採用している。非常に単純なプロトコルで、少数のデータ型やコマンドだけを定義しているだけであり、その仕様は2枚の紙にまとめられる。これは多くのRPCシステムが膨大な量の規格を規定し、実装に多量のプログラミングを要することに比べると、際立った特徴と言える。
1998年、ユーザーランド・ソフトウェアがマイクロソフトと共同で開発した。その後、これに新たな機能を追加したものがSOAPへと発展した。しかし、SOAP よりも単純で扱いやすいXML-RPCを好む人もいる。
類似の RPCプロトコルとして JSON-RPC がある。
例.
XML-RPC要求の典型例を以下に示す。
 <?xml version="1.0"?>
 <methodCall>
 <methodName>examples.getStateName</methodName>
 <params>
 <param>
 <value><i4>40</i4></value>
 </param>
 </params>
 </methodCall>
XML-RPC応答の典型例を以下に示す。
 <?xml version="1.0"?>
 <methodResponse>
 <params>
 <param>
 <value><string>South Dakota</string></value>
 </param>
 </params>
 </methodResponse>
XML-RPCフォールトの典型例を以下に示す。
 <?xml version="1.0"?>
 <methodResponse>
 <fault>
 <value>
 <struct>
 <member>
 <name>faultCode</name>
 <value><int>4</int></value>
 </member>
 <member>
 <name>faultString</name>
 <value><string>Too many parameters.</string></value>
 </member>
 </struct>
 </value>
 </fault>
 </methodResponse>