SourceForge Logo
XMLRPC-EPI
A standalone C API for XML-RPC

About xmlrpc-epi
  Summary
  Features
  Projects
  History
  License

About xmlrpc-epi-php
  Summary
  Examples
  API

Documentation
  Architecture
  XMLRPC C API Reference
  Complete C API Reference
  Examples / Tutorial
  XMLRPC Protocol Spec
  RFC: system.describeMethods
  RFC: Standard Fault Codes

SourceForge
  Project Page
  Downloads
  Mailing List
  Forums
  Bug Reports
  Feature Requests
  CVS Access

XML-RPC Community
  xmlrpc.org
  xmlrpc mailing List
  online services

Related Links
  xmlrpc.org
  xmlrpc mailing List
  original expat
  new expat project
  epinions.com
  xmlrpc-c
  xmlrpc-ensor

Projects using XMLRPC-EPI

SecondLife

Secondlife is a 3D metaverse. xmlrpc-epi is used in the login protocol to sign in world and as part of the in-world scripting system where objects can send and receive xmlrpc.

MailVault

Secure Webmail using PGP. This site uses xmlrpc-epi-php to communicate with a backend server over an encrypted connection. Here's some testimony as of 01/20/02:
Since I switched to using your stuff, I'm able to encrypt/decrypt 5 MB attachments in just a few seconds. With the old stuff, it was taking 60+ seconds to handle a 200 KB attachment and would croak on larger ones.

mvserver

A generic framework for quickly creating servers of many types. This code has been used at Epinions.com, along with xmlrpc-epi, to implement a smart caching/filtering/sorting layer between php and the backend database.

xmlrpc-epi-php

This is a C extension to php that provides xmlrpc serialization / deserialization funtions from native php types. No complex php API is necessary and it's decently fast. Here's a quote from Stig Bakken, one of the PHP developers, when he discovered xmlrpc-epi.
I want to thank you for xmlrpc-epi-php. I had to dump the useful classes this weekend during a benchmark. "The honor of PHP" was at stake, a colleague and I had to prove that PHP+Oracle with an XML-RPC interface could compete with WebLogic performance-wise. With ZendCache, curl, xmlrpc-epi-php and the Oracle connection dispatcher we managed to get almost 250 tps with 800 users on a single box, which exceeded even our own expectations. With useful's code we were down to 40, so kudos in your general direction. Thanks!

PHP

As of PHP 4.1.0, xmlrpc-epi-php is now included with PHP and can be compiled with a simple --with-xmlrpc argument to configure. Note PHP forked xmlrpc-epi at around version 0.51. They added fixes for 64 bit compiling (which we have here too) and fixed all the gcc warnings and updated the build environemnt (which version 0.54 does too). But php can use libxml or expat as the parser. We are currently stuck with expat and its not possible to bring in the php compat code without licence incompatabilities.

Your Project?

If you are using xlmrpc-epi in your project, please send a note to the mailing list and let us know.