RPC over XML (RoX) provides a light-weight, scalable library for marshalling and unmarshalling XML-RPC messages, directly and over an HTTP transport.

See:
          Description

Packages
com.flat502.rox This package contains a generated Version class.
com.flat502.rox.client Client-side API and supporting classes.
com.flat502.rox.demo Examples illustrating using this project.
com.flat502.rox.demo.validation This package contains a demo implementing the XML-RPC validation suite.
com.flat502.rox.encoding  
com.flat502.rox.http Utility classes for packing and unpacking HTTP messages.
com.flat502.rox.log Supporting classes for HTTP level logging.
com.flat502.rox.log.log4j Supporting classes for using Log4J with RoX.
com.flat502.rox.marshal Provides generic classes for marshalling and unmarshalling RPC messages.
com.flat502.rox.marshal.cgi  
com.flat502.rox.marshal.xmlrpc Provides classes for marshalling and unmarshalling XML-RPC messages.
com.flat502.rox.processing Central location for shared client- and server-side processing logic.
com.flat502.rox.server Server-side API and supporting classes.
com.flat502.rox.utils A collection of utility classes supporting the underlying implementation.

 

RPC over XML (RoX) provides a light-weight, scalable library for marshalling and unmarshalling XML-RPC messages, directly and over an HTTP transport.

RoX builds on top of the NanoXML parser (this is the only external dependency RoX has beyond the JDK), without which I probably would have just given up (having no desire to produce yet another XML parser). Thanks go to Marc De Scheemaecker for this parser.

RoX builds on the NIO libraries introduced with Java 1.4.