XML-RPC over Jabber
XML-RPC is an easy way to get software that’s running on different operating systems to be able to make and respond to procedure calls (the “RPC” part of the name stands for “Remote Procedure Call”) over the Internet.
The basis of XML-RPC is straightforward and is described at XML-RPC’s home page (http://www.xml-rpc.com). The procedure calls, each consisting of the name of the procedure (or method) to call and a set of arguments to go with that call and the corresponding responses, each consisting of a set of results, are encoded in an XML-based format. The requests and responses, so encoded, are exchanged over HTTP, carried as the payloads of POST requests.
Example 10-8 shows a typical request in
XML-RPC encoding. It’s calling a procedure called
examples.getStateName, and passing a single integer
parameter with the value 41.
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params>
<param>
<value><i4>41</i4></value>
</param>
</params>
</methodCall>Example 10-9 shows a typical response to that request. The response consists of a single string value “South Dakota.”
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string>South Dakota</string></value>
</param>
</params>
</methodResponse>
The choice of the word “payload” to describe the encoded requests
and responses is significant: each request, headed with an XML
declaration (<?xml version="1.0"?> ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access