Jabber-RPC
Jabber-RPC is the name given to the marriage of encoding from the XML-RPC specification and Jabber as the transport mechanism. As well as building upon a stable specification, Jabber-RPC brings advantages of its own to the world of procedure calls over the Internet. Many of the potential XML-RPC responders are HTTP servers behind corporate firewalls or one-way Network Address Translation (NAT) mechanisms and are therefore unreachable from the Internet. Substituting Jabber as a transport gives calls a better chance of reaching their destination. If a Jabber-RPC responder—a program that connects to a Jabber server, is addressable by a JID, and can receive (and respond to) XML-RPC-encoded calls—is connected to a Jabber server visible to the Internet, then request calls have to make it only to that Jabber server, and internal packet routing within the server will allow the parcels to reach their destinations behind the firewall, whether those destinations are client-based or component-based responders.
It should be clear by now that the idea of Jabber-RPC is to transport
the XML-RPC-encoded parcels in an extension, an attachment, to an IQ
element. Just as the details for a search attempt (for example
of a Jabber User Directory) are carried in an IQ-set extension
qualified by the jabber:iq:search namespace
(as shown in Example 10-2), so the Jabber-RPC method calls are carried in an IQ-set extension qualified by a namespace of its own. This namespace is a new one and is ...
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