Dave Winer has a blog post where he responds to a post entitled SOAP, REST and XML-RPC by Randy Charles Morin. He writes
I wonder if it's be possible for me to disagree with Randy Morin
without getting flamed. I never said XML-RPC is better than SOAP or
REST, or more perfect or pure, or better documented. I don't care if
the others have better websites, or more advocates posting on mail
lists. The reason I advise would-be platform developers to support
XML-RPC is because at least for some developers (including me) it's so
much faster to implement, so we spend less time creating glue and get
to building applications sooner. I've learned that the sooner
developers get to the fun part, the more likely they are to deploy. And
if that's the goal, why not support it? BTW, I never said they
shouldn't support SOAP or REST, in fact I often provide multiple
interfaces to my would-be platforms, because I've learned that if you
want uptake for new ideas, you shouldn't argue over small things like
this, you should say yes whenever you can.
I agree 100% with Dave Winer. If you are building a service on the Web, then you shouldn't discriminate against any platform, application or device. This means you can't pick one approach or one technology for building your service because different platforms have different levels of support for various approaches. A developer using Visual Studio will find using SOAP easier then REST or XML-RPC while on the flip side a developer using Python or Perl is likely more at home dealing with XML-RPC than using SOAP. Choosing one technology over the other is choosing to discriminate against one platform or set of developers over the other.
In some cases this is necessary to keep maintenance costs down by supporting a small set of protocols but in general if you are building a service on the Web, you want it to be inclusive not exclusive. Arguments of technological superiority be damned.