SOAP and XML-RPC are still very heavy duty/complicated for what is often more simply done using CGI/HTTP/url-form-encoding.
1. Use any HTTP library to create data encoded as a form.
2. Use any HTTP library to send this to a URL using POST encoding.
What's exactly meaning of POST encoding? My assumption is application/x-www-form-urlencoded, as opposed to multipart/form-data3. Install a webserver and install a CGI handler for the URL.
4. Use any CGI library to extract the data.
5. Implement the behaviour in your favorite language.
6. Return the results using form encoding.
7. Parse the results using any CGI library.
This is a very simple and relatively low overhead way of tying distributed tools. I wouldn't use this approach for a billion transaction a picosecond system, but a lot of applications aren't that tight.
The upside is enormous:
1. Attribute-value pairs suffice for most applications. It's easy to add structure on top of the AV pairs when needed. No need for an XML processor at all.
2. Any platform can be easily used because web servers run everywhere.
3. You can use any language you want because the one you want will probably have a CGI/HTTP library.
4. It's very quick to setup and understand.
See also: ItsAboutTheDataStupid, RestArchitecturalStyle