- XML-RPC takes structured data so it has all advantages that a structured data can have, like representing hierarchy & data element presense..etc. So that semantics can be controlled, preferbly through a schema.
- Its standard way - the data I sent is understood in same way in other end.
When come to SOAP, XML-RPC is much lighter version of SOAP.
SOAP tries to pick up where XML-RPC left off by implementing user defined data types, the ability to specify the recipient, message specific processing control, and other features.
When comes to REST, I would say its a style of exposing a service - does not define any standard format for the way the data is being exchanged (could be JSON, YAML 1.0, YAML 2.0, arbitrary XML format, etc). If I see that required operation is a resource based then I would prefer RESTful call with XML data (well you have JSON, why XML when we use REST - isn;t it?). If XML presentation of data is unaviodable then go with either SOAP/XML-RPC for standard sake (interacting with 3rd party) and REST (with arbitary XML format) if it is a internal stuff.
See this post for more specific details.