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連線傳送。