XML-RPC響應格式

響應與請求非常類似,但又有一些不一樣。 如果響應成功 - 找到過程,正確執行並返回結果 - 那麼XML-RPC響應看起來很像請求 - 但是請求中methodCall元素被響應中methodResponse元素替換,並且沒有methodName元素:

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><double>18.24668429131</double></value>
      </param>
   </params>
</methodResponse>

在上面響應返回結果中 -

  • XML-RPC響應只能包含一個參數。
  • 參數可以是數組或結構,因此可以返回多個值。
  • 始終需要有返回值作爲響應。 「成功值」 - 是布爾值true(1)

與請求一樣,響應打包在HTTP中並具有HTTP標頭。 即使消息中包含錯誤,所有XML-RPC響應都使用200 OK響應代碼。 標頭使用與請求類似的通用結構,一組典型的標頭應該如下所示:

HTTP/1.1 200 OK
Date: Sat, 06 Oct 2001 23:20:04 GMT
Server: Apache.1.3.12 (Unix)
Connection: close
Content-Type: text/xml
Content-Length: 124

在上面響應返回結果中,

  • XML-RPC僅需要HTTP 1.0支持,但HTTP 1.1兼容。
  • Content-Type必須設置爲text/xml
  • Content-Length標頭指定響應的長度(以字節爲單位)。

帶有標頭和響應有效負載的完整響應如下所示:

HTTP/1.1 200 OK
Date: Sat, 06 Oct 2001 23:20:04 GMT
Server: Apache.1.3.12 (Unix)
Connection: close
Content-Type: text/xml
Content-Length: 124

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><double>18.24668429131</double></value>
      </param>
   </params>
</methodResponse>

響應從XML-RPC服務器傳遞到XML-RPC客戶端後,將關閉連接。 後續請求需要作爲單獨的XML-RPC連接發送。