SOAP vs XML-RPC

djberg96 on 2004-06-10T17:50:25

I've asked this on IRC before and Dave Winer's brief comment on the subject made me want to ask here: what advantage does SOAP have over XML-RPC? The latter seems so much easier to me.

/me knows little about SOAP, btw.


Couldn't Resist

chaoticset on 2004-06-10T18:29:23

SOAP is cleaner.

Sorry. I actually don't know. Someone knowledgeable will undoubtedly explain at some point...

My understanding

runrig on 2004-06-10T20:44:45

RPC is easier, but more limited in what it can do (i.e. SOAP can do RPC, but RPC can not necessarily do SOAP, and RPC was born out of an early draft of SOAP). If RPC works for you, go for it. Though I think SOAP is supported by more environments (e.g. .NET), so if that's a concern, then you'll probably have to go that way.

SOAP is an electric toothbrush

jjohn on 2004-06-11T01:09:03

SOAP is a general purpose, object-oriented messaging protocol. It's XML message can be passed through a number of protocols. It is highly generic and allows users to specify new datatypes.

XML-RPC is a narrowly defined RPC mechanism that defines around 10 data types (only about 3 are needed [string, array, struct]), specifies the transport mechanism (HTTP), and has no provisions for user-defined extensions.

I have worked with both in several languages, including Perl, Python, PHP, Java, and C. For those projects for which you own both sides of the RPC transaction, XML-RPC is simple and reliable. It's even easy to bend XML-RPC into unexpected places like SMTP and unix domain sockets.

SOAP messages are necessarily complex XML messages. XML-RPC message are so simple, the DTD came after the spec and several language implementations.

I use SOAP only when I have too.

It is a easy choice

sky on 2004-06-11T10:19:18

XMLRPC is a Whiner controlled technology, SOAP is not - I know what I choose.

I decided a long time ago that I am not using anything that Whiner is part of, and that makes me sleep better at night!