Copyright © tutorialspoint.com

# XML-RPC Response Format

Responses are much like requests, with a few extra twists. If the response is successful - the procedure was found, executed correctly, and returned results - then the XML-RPC response will look much like a request, except that the methodCall element is replaced by a methodResponse element and there is no methodName element:

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

- An XML-RPC response can only contain one parameter.

- That parameter may be an array or a struct, so it is possible to return multiple values

- It is always required to return a value in response. A "success value" - perhaps a boolean set to true (1)

Like requests, responses are packaged in HTTP and have HTTP headers. All XML-RPC responses use the 200 OK response code, even if a fault is contained in the message. Headers use a common structure similar to that of requests, and a typical set of headers might look like:

    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 only requires HTTP 1.0 support, but HTTP 1.1 is compatible.

- The Content-Type must be set to text/xml

- The Content-Length header specifies the length of the response in bytes.

A complete response, with both headers and a response payload, would look like:

    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>

After the response is delivered from the XML-RPC server to the XML-RPC client, the connection is closed. Follow-up requests need to be sent as separate XML-RPC connections.

Copyright © tutorialspoint.com