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