W3C XML Protocol WG Publishes SOAP MTOM Working Draft
The W3C XML Protocol Working Group has published the first working draft of a SOAP Message Transmission Optimization Mechanism or MTOM for short. This specification shows the direction in which the WG is headed to address the handling of attachments for SOAP 1.2 messages.
On the wire, a message and its attachments are encapsulated within a MIME multipart/related envelope with the SOAP message as the root part. MTOM provides a standard referencing mechanism (the
xbinc:Include element) to allow references to attachments from within the SOAP envelope. So far so much like SOAP Messages with Attachments.
The key difference to what has gone before is the logical inclusion of attachment data within the SOAP message XML Infoset for the purposes of the SOAP processing model. The concept is that, on receipt of a message, the SOAP binding logically replaces any
xbinc:Include elements with their base64 encoded representation such that the data can be operated on like any other data contained directly within the SOAP Envelope. This means that, e.g., if an attachment is referenced only from a SOAP header and that header is removed then the attachment would also be removed from the MIME package.
There still remains a lot of work to be done to round out the document and tackle the edge cases, but IMO the basic concept is sound.