In contrast, XML-RPC is a Remote Procedure Calling protocol that works over the Internet, and is really an XML-RPC message that is an HTTP-POST request. The body of the request is in XML. A procedure executes on the server and the value it returns is also formatted in XML.
* REST is a bit different. REST (REpresentative State Transfer) is a technique for implementing Web services using XML documents plus standard HTTP, using its well-known operations (PUT, GET, POST, DELETE). The service-specific API is created by defining URIs (typically URLs) and XML documents that model the data structures and requests/responses required. REST has some very useful properties, e.g. you can use standard firewalls for security, standard caching for performance, while still letting you do everything that SOAP and XML-RPC can do.
[Editor's note] For another expert answer, Click here
This was first published in July 2002