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

OverView

xmlrpc-epi-php is a PHP C extension that utilizes xmlrpc-epi to provide a high performance, easy to use, php native interface to xmlrpc. There is no complex type API to use. Instead, manipulate your values as you normally would, then call a single encode routine to translate that data into xml.

Benefits

Key benefits of using this extension as compared to other php xmlrpc solutions are:
  1. speed. Because it is in C, it is faster than implementations written in php. Various iterations of this code have been/are running at Epinions.com and are sufficiently fast for the high traffic volume this site encounters, with several xmlrpc type requests generated for each user http request. No specific speed claims are made. Your mileage may vary.
  2. ease of use. All data is sent/received as native php types, so there is no complicated new API to learn when dealing with data types. Sample php scripts are in ./sample. The best/quickest way to learn how to use the library is just to view the source to these and load them in your browser
  3. escaping and encoding support. four different types of xml character escaping are available, which means you can safely send any sort of data, even non-printable and "illegal" xml characters. all encodings supported by your operating system are useable for both sending and receiving data.
  4. compatibility. This library has been demonstrated fully compliant with the XMLRPC spec, having passed the test suite at http://validator.xmlrpc.com. It is the author's hope that this code will be found useful by someone, and would like to hear about how and where it is being used, or suggestions for improvement.