It’s just data

POX and SOAP

Leonard Richardson: The “POX” in HTTP+POX basically means “no SOAP”, but what specifically don’t HTTP+POX people like about SOAP? Is it the complexity of the SOAP message itself? Plain old XML can get pretty complex too. Or is it the fact that the SOAP message contains information (like the method name) that they think should go in the URI?

The closer you look, the less obvious the distinctions are.

How would you classify this?

Another way to look at this is to ask yourself whether the wire format is the interface, or is merely a serialization of a higher level abstraction?  In some carefully designed, document literal interfaces, the API can be viewed in both ways.

For an example of a popular higher level abstraction, look here, then here.  This model achieves simplicity by viewing the transport as a black box:

XML-RPC.

Developing this book in public is going to be fun.

Update: Sanjiva and Steve weigh in.


[from miyagawa] Sam Ruby: POX and SOAP

[link]...

Excerpt from del.icio.us/network/plugnus at

A good engineering principle is to take out unnecessary features until there’s nothing more to remove. By that principle, if you wrap your document in an envelope that never gets used, you added an unnecessary complex feature.

SOAP also requires the soapAction header, forces using POST, guesses the operation from the element type, and requires some namespace fancy work. That’s four more features that you’re adding.

Is it just a wire-format on top of an abstract interface? Only if your architecture is tightly coupled into a SOAP stack that can understand the protocol, unravel the namespace contexts, decide on operations, etc.

The moment you try using wget to fetch some data, it stops being a wire format and becomes a burdensome interface. (And the same can be said for HTTP when you all want to do is sniff TCP packets)

Posted by assaf at

REST vs HTTP+POX vs SOAP

Sam and Leonard ponder the differences among them. Here’s the deal:

REST == HTTP GET
HTTP+POX == HTTP GET & POST
SOAP == HTTP POST, with interop issues

When I’m talking to people about web services, and I hear them use various terms, this i...

... [more]

Trackback from Adam Trachtenberg at

I guess it depends on which languages you’re using and, from the Java world, how much memory and disk space you have to burn.

Posted by Phil Wilson at

WSO2 doesn’t get it

I like how news of Sam and Leonard’s REST book is kicking off a new REST/SOAP thread. This time though, it seems the tables are turned and it’s the Web services proponents who are having to defend their preferred architectural style,...

Excerpt from Web Things, by Mark Baker at

REST and SOAP and all that

It’s time to reawaken this blog, and the current POX/REST/SOAP thing is as good a reason as any. Everyone has something good to say, and I have comments for everybody. Leonard Richardson kicked it off while ruminating about the forthcoming...

Excerpt from Pete Lacey's Weblog at

Sam Ruby: POX and SOAP

Sam Ruby: POX and SOAP Leonard Richardson: The “POX” in HTTP+POX basically means “no SOAP”, but what specifically don’t HTTP+POX people like about SOAP? Is it the complexity of the SOAP message itself? Plain old XML can get... mickn soap...

Excerpt from 足跡 / soap (3) at

Add your comment