What is XML-RPC?
Introduction
XML-RPC is a cross platform protocol for executing remote procedure calls and
exchanging information between servers via the internet.
The Specification
XML-RPC is a simple protocol for carrying out remote proceedure calls
(RPC) over TCP/IP. It uses two standards of the internet, Hypertext
Transfer Protocol (HTTP)
and eXtensible Markup Language (XML)
to create a standard way of calling remote web services and receiving a response.
The best place to learn about XML-RPC is at its website
www.xmlrpc.com which is maintained by
XML-RPC's champion Dave Winer.
Overview
The XML-RPC specification is located here.
The Figure shows a simple diagram showing the process of calling a remove server with an XML-RPC call.
Figure - Overview of XML-RPC
XML-RPC is in effect a modified early draft of the Simple Object Access Protocol
(SOAP) and is much simpler and less political.
Whilst everyone fights over the specification for SOAP and tries to build their own
proprietory "enhancements", XML-RPC remains refreshingly constant and open.
XML-RPC implements RPC in a simple way without the additional overhead of SOAP.
You get 95% of SOAPs functionality with much less hassle.
History
The history (or is that histories !) of XML-RPC appears to be contentious so
its best to hear it from the horses mouth, so to speak; read
Dave Winer's History of
SOAP.
Implementations
Implementations of XML-RPC are detailed
here. EnAppSys
hosts a popular implementation of XML-RPC at its site
here.
Resources
Please find below some resources on XML-RPC which you may find useful: