REST vs RPC implementations like XML-RPC is a false dichotomy. You can implement a RESTful interface using XML-RPC (although you probably wouldn't want to). That said, there are a bunch of reasons why you would want to expose resources in a RESTful way using vanilla HTTP instead of rolling your own RPC interface using a technology like XML-RPC:
- Future actions are primarily controlled by the server instead of hard-coded in the client via procedure calls, simplifying deployment and versioning.
- Existing implementations for things like caching, throttling, and versioning can be used out of the box.
- The custom procedures that you roll with an RPC interface are likely to be too narrowly scoped.
See this blog post for more info.









