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 响应只能包含一个参数。

  • 该参数可以是数组或结构,因此可以返回多个值。

  • 在响应中总是需要返回一个值。一个“成功值” - 可能是一个布尔值设为真 (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 连接发送。

广告