XML-RPC or SOAP
The XML-RPC is very similar to SOAP, with nominal differences of form. Like XML-RPC, SOAP allows us to transmit complex data structures to remote computers for processing and response and uses XML to format its data. If you have a need for a reliable client/server architecture reaching across platforms, SOAP may be suitable.
Although SOAP usually use the HTTP protocol as its transport mechanism, it really does not need to. Since HTTP is, by far, the most widely implemented protocol across multiple platforms, programmers prefer it. However, SOAP allows us to use others as well, including SMTP.
Programmers are not bound by implementation of SOAP. With quite a number of programming languages on just about every available platform available, Programmers can choose C/C++ (including Carbon), Java, Lisp, Objective-C (including Cocoa), Perl, PHP, Python, BASIC, AppleScript, Smalltalk and many more. This provides a lot of flexibility to the programmer looking for a robust solution with nominal limitations.
We have found that both XML-RPC and SOAP are useful when you need to implement a data-based client/server architecture in an enterprise application where the front end can talk across the platform to another technology API. Although XML-RPC and SOAP are “Web Services”, normally they will not return fully formatted HTML, but instead just the raw data. The client can be a Web browser (e.g as in an enterprise J2EE application), a native application with a Mac OS X (e.g. as in a Cocoa client) or Windows GUI (e.g Windows Form Application), or it might be a cell phone (e.g. as in a Java Mobile application). Therefore, the server should return data only, leaving the formatting of the data to the client.
N.B. Don’t forget REST.