The trick XINS uses is an HTTP parameter "_convention" to be supplied in the request URL. When this parameter is set to "_xins-soap", then the request is interpreted as a SOAP request. If it's "_xins-xmlrpc" then XML-RPC is assumed. By default, the HTTP input parameters (GET, POST or HEAD) are interpreted.

The implementation code, written by a Java developer, is independant of the protocol for the request and response. The framework will convert from and to XML-RPC or SOAP, as necessary. Some other calling conventions is included (simple XML, XSLT, etc.) and users can write custom ones.

XINS is a Java- and XML-based, BSD-licensed technology with the goal to allow developers to define and implement RPC-services very easily and very quickly, with a high degree of quality.

The XINS Primer (
introduces XINS in 15 minutes and shows how easy it is to write a XINS specification and generate a WAR file from it.

Download XINS 1.3.0-rc2 as a tar.gz file: or as a Windows installer:
User Guide:

Would you consider XINS for your next project? Do you consider the compatibility with XML-RPC and SOAP an important feature? The XINS development team welcomes your feedback at the xins-users mailing list: