libHTTP XML-RPC Library

libHTTP XML-RPC is a library implementing the full XML-RPC spec and is designed for programmers who wish to either expose remote procedures from their C++ applications or make calls to remote procedures running on another server. The library is written to make this process as painless as possible and the only external dependencies required are the Boost libraries which (argueably) all C++ programmers should be using anyway.

If you came here looking for details on the lower level HTTP library I point you to its page; libHTTP.

What is XML-RPC?

Well to explain it very quickly XML-RPC is a protocol for making remote procedure calls. It is very portable relying only on two well established and widely support technologies, HTTP and XML. The site XML-RPC.com is an excellent resource for finding out further details.

Downloading the Library

The XML-RPC code is part of a larger library, libHTTP. But don't worry about that bringing a load of extra features into your program which you don't need or want. You simply include only the XML-RPC headers in you programs and rely on the linker to only extract the bits of libHTTP needed. In fact all libHTTP does at the moment is support the XML-RPC layer anyway so there is no extra code :).

The latest stable release can always be found with the libHTTP Sourceforge project page which I set up to hopefully secure the projects future even in my absence. For the latest bleeding edge code you can check out the Subversion repository; svn://svn.geekisp.com/libhttp. I'd encourage you to drop by the libHTTP Trac site if you choose this option as the roadmap will give you an idea what features are being worked on. I've setup a forum for dealing with any support issues.

Documentation

The documentation for the library including installation and setup instructions can be found at the separate docs page.