XML-RPC

XML-RPC是一个远程过程调用（远程过程调用）（remote procedure call，RPC)的分布式计算协议，通过XML将调用函数封装，并使用HTTP协议作为发送机制。

历史

XML-RPC发表于1998年，由UserLand Software（UserLand Software）的Dave Winer及Microsoft共同发表。后来在新的功能不断被引入下，这个标准慢慢演变成为今日的SOAP协议。
XML-RPC协议是已登记的专利项目，由Phillip Merrick、Stewart Allen及Joseph Lapp共同持有，于1998年3月提出申请，指其将用于一个构想中的应用程序，并于2006年4月获得接纳。现时这个专利由位于美国维珍尼亚州费尔法克斯的webMethods使用。

用法

XML-RPC透过向设备了这个协议的服务器发出HTTP请求。发出请求的客户端一般都是需要向远程系统要求调用的软件。
JSON-RPC（JSON-RPC）跟 XML-RPC 相类似。

示例

以下为一个寻常的XML-RPC 请求的示例：
<?xml version="1.0"?><methodCall>
  <methodName>examples.getStateName</methodName>
  <params>
    <param>
        <value><i4>40</i4></value>
    </param>
  </params></methodCall>
相对于上述请求，以下为一个寻常回应的示例：
<?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>