Client and Server Classes

XML-RPC has wide support in many languages.

Two popular implementations are SourceForge.net's XML-RPC for C and C++
and the Apache Software Foundation's Apache XML-RPC :

XmlRpcServer
+ XmlRpcServer()
+ addHandler(name : String, handler : Object)
+ execute(InputStream) : byte[]

Embed XmlRpcServer in a Servlet if you're already running Tomcat.
For stand-alone applications WebServer provides the subset of HTTP
required to handle XML-RPC calls.

WebServer
+ WebServer(port : int)
+ addHandler(name : String, handler : Object)
+ start()
WebServer webserver = new WebServer(1954);
webserver.addHandler("cat", this);
webserver.start();

public boolean showCat() {
    window.toFront();
    return true;
}
XmlRpcClient
+ XmlRpcClient(url : String)
+ execute(method: String, params : Vector) : Object
+ executeAsync(String, Vector, AsyncCallback)
String url = "http://localhost:1954/";
XmlRpcClient cat = new XmlRpcClient(url);

Vector  params = new Vector();
Boolean shown  = (Boolean) 
        cat.execute("cat.showCat", params);

See also XML-RPC for COM (Visual Basic), XML-RPC for Python,
Perl scripts for XML-RPC and the specification itself at XML-RPC.Com.