XML-RPC請求格式

XML-RPC請求是XML內容和HTTP標頭的組合。 XML內容使用數據類型結構來傳遞參數,幷包含標識指定要調用哪個過程的附加信息,而HTTP標頭提供了一個用於通過Web傳遞請求的包裝器。

每個請求都包含一個XML文檔,其根元素是methodCall元素。 每個methodCall元素都包含一個methodName元素和一個params元素。 methodName元素標識要調用的過程的名稱,而params元素包含參數列表和值。 每個params元素包括一個param元素列表,而param元素又包含值元素。

例如,要將請求傳遞給名稱爲circleArea的方法,該方法採用double類型參數(對於半徑),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請求,具有精心構造的有效負載。