A long and thoughtful post from Anne Thomas Manes on REST vs. SOAP. Anne is usually right, but I have to question this statement:
Per the SOAP specification, the SOAP node determines what method to invoke based on the qualified name (QName) of the child element of the SOAP Body element.
While this may be a convention, I cannot find any mention of “invoking a method” in the spec. The SOAP spec does neither mandate nor suggest any relationship between a message and a method, which is a good thing.
I also find it very hard to agree with this assertion:
SOAP is also an application protocol, with its own set of application protocol semantics.
In my view, it may be valid to describe SOAP as a toolkit for constructing application protocols (if you are so inclined). But an application protocol in itself? I don’t think so.
I have to agree.
On method mapping: there’s no default. In terms of the “Semantics” word, even agreeing with that claim that there is a mapping won’t be sufficient; you have to describe how the SOAP message is going to be evaluated. Mapping just begs the question of what will happen.
On SOAP as an app protocol: I always saw SOAP as being closer to BEEP than any of the current Internet app protcools. And calling SOAP an app protocol is like calling XML a vocabulary.