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连接发送.