- SOAP transport bindings: HTTP, SMTP ...
- SOAP header = metadata, authentication ...
- SOAP message path processing (header attributes: actor/role, mustUnderstand)
- SOAP body "document": set of independent body entries (usually one) with encodingStyle
- SOAP body "rpc": method invocation and method response as "struct" with parameters and return value as "accessors"
- SOAP encoding (instead of XSD) - DEPRECATED by WS-I Basic profile
- SOAP fault vs. plain XML fault message with HTTP status code 500
- SOAP attachment vs. plain WSDL MIME attachment:
- SwA (SOAP with Attachment): SAAJ (SwA API for Java)
- MTOM (SOAP Message Transmission Optimization Mechanism) using XOP (XML-binary Optimized Packaging)
- Abstract model: SOAP 1.2 attachment feature
Note (SwA vs. MTOM):
"MTOM combines the efficiency of SOAP with Attachments, but it does so without having to break the binary data outside of the SOAP message. How can this be? The key is a technology called XOP.
XOP allows binary data to be included as part of the XML Infoset. In fact the XML Infoset becomes a superset of the traditional Infoset known as the XOP Infoset. It allows for the binary data to be stored outside of the XML document, just like in SOAP with Attachments. It uses a special XOP:include element to tell the processor to replace the contents with the referenced binary data, thus encapsulating the logic of discrete storage and retrieval of the binary data. This logic becomes inherent to the XML parser, and allows the SOAP parser to treat the binary data as part of the XML document, with no special retrieval logic. Similarly it allows for a SOAP server to create a SOAP message in a uniform way, no special logic for breaking out that binary data from the SOAP message."