🏠
ENG
Great Britain >

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: