150 likes | 337 Views
Data transport with SOAP message. There is a W3C note proposing the SOAP with attachment: http://www.w3.org/TR/SOAP-attachments. OASIS WSS TC. SOAP Messages with Attachments (SwA) Profile 1.1 OASIS Public Review Draft 01, 28 June 2005 is being discussed in the OASIS Web Services Security TC.
E N D
Data transport with SOAP message • There is a W3C note proposing the SOAP with attachment: • http://www.w3.org/TR/SOAP-attachments ACS WG - Data transport with SOAP message
OASIS WSS TC • SOAP Messages with Attachments (SwA) Profile 1.1 • OASIS Public Review Draft 01, 28 June 2005 is being discussed in the OASIS Web Services Security TC. • This document describes how to use the OASIS Web Services Security: SOAP Message Security standard [WSS-Sec] with SOAP Messages with Attachments [SwA]. More specifically, it describes how a web service consumer can secure SOAP attachments using SOAP Message Security for attachment integrity, confidentiality and origin authentication, and how a receiver may process such a message. • http://www.oasis-open.org/committees/download.php/13288/wss-v1.1-spec-pr-SwAProfile-01.html ACS WG - Data transport with SOAP message
WS-I • Attachments Profile 1.0 (http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-24.html)refers this as below: • SOAP Messages with Attachments (SwA) defines a MIME multipart/related structure for packaging attachments with SOAP messages. This profile complements the Basic Profile 1.1 to add support for conveying interoperable SwA-based attachments with SOAP messages. • Attachments Profile 1.0 is referred from WS-I Basic Profile 1.1 (http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html) ACS WG - Data transport with SOAP message
Some other specifications. • Relevant specifications for data transport with SOAP. • SOAP 1.2 Attachment Feature • http://www.w3.org/TR/2004/NOTE-soap12-af-20040608/ • SOAP Message Transmission Optimization Mechanism • http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/ ACS WG - Data transport with SOAP message
Other Information on the Web • Overview - SOAP Attachments http://n.ethz.ch/student/jodaniel/37-310/slides/christian_wassmer.ppt • SAAJ: SOAP Attachment API for Java http://www.cse.buffalo.edu/gridforce/fall2004/SAAJOct1.ppt • SOAP 1.2, Introductionhttp://www-serl.cs.colorado.edu/downloads/serl-talks/2002.02.04-SOAP.ppt • Web Services Support over J2EE 1.4 http://www.javapassion.com/webservices/J2EE1.4WebServicesShort4.pdf • Java Web Services Developer Pack 1.5http://javaoneonline.mentorware.net/mw/subsystems/2000/system/docs/sunw_wb1215.pdf • SOAP with Attachments API for Java (SAAJ) 1.2 ACS WG - Data transport with SOAP message
SOAP message and MIME • A SOAP message with MIME header. MIME-Version: 1.0 Content-Type: text/xml; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-ID: <http://claiming-it.com/claim061400a.xml> Content-Location: claim061400a.xml <?xml version='1.0' ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <xxx:SomeMessage> .. <xxx:theSignedForm href="claim061400a.tiff"/> .. </xxx:SomeMessage> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOAP message ACS WG - Data transport with SOAP message
SOAP message with attachment(1) • A SOAP message with attachment can be stored in a multipart MIME structure. • The SOAP message itself will be stored in the “root” body part* of the multipart MIME structure. • Attachments to the SOAP will be stored in other parts in a multipart MIME structure. The SOAP message will contain reference to the attachment. • See examples in following pages. • SwA proposes how the reference for the parts in MIME is resolved. See the quotes from the SwA doc to be more precise. • An ACS request as a SOAP message can be contained in the “root” body part of the Multipart/Related MIME structure and has a reference to the attachments, if there are any. * RFC 2387 specifies that “root” body part can be indicated with “start” attribute in the Content-Type header and the first one in the parts by default. ACS WG - Data transport with SOAP message
SOAP message with attachment(2) • RFC 2396 specifies a process skeleton for establishing a base URI, based on the following options, listed in order of precedence. • Base URI within Document Content: the mechanism for explicit specification of a base URI within a SOAP 1.1 message will be the XML base mechanism. • Base URI from an Encapsulating Entity: If there is a Content-Location header containing an absolute URI in any MIME entity enclosing the primary SOAP 1.1 message, then the URI from the closest such Content-Location header is the base URI for the entity. • Base URI from the Retrieval URI: the retrieval URI for a SOAP message package is never allowed to be used as a base URI. • Default Base URI: the default base URI will be "thismessage:/" in accordance with RFC 2557. • SwA proposes how the reference for the parts in MIME is resolved. • Every MIME part in the Multipart/Related structure that constitutes a SOAP message package has at least one absolute URI label. There are three cases. • If a Content-Location header is present with an absolute URI value then that URI is a label for the part. • If a Content-Location header is present with a relative URI value then rules 2 and 4 above are applied to establish the base URI for the process of converting the relative URI to an absolute one. The resulting absolute URI is a label for the part. • If a Content-ID header is present, then an absolute URI label for the part is formed using the CID URI scheme as described in RFC 2111. ACS WG - Data transport with SOAP message
SOAP message with attachment(3) MIME-Version: 1.0 Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml; start="<http://claiming-it.com/claim061400a.xml>" Content-Description: This is the optional message description. Content-Location: http://claiming-it.com/ --MIME_boundary Content-Type: text/xml; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-ID: <http://claiming-it.com/claim061400a.xml> Content-Location: claim061400a.xml <?xml version='1.0' ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <xxx:SomeMessage> .. <xxx:theSignedForm href="claim061400a.tiff"/> .. </xxx:SomeMessage> </SOAP-ENV:Body> </SOAP-ENV:Envelope> --MIME_boundaryContent-Type: image/tiff Content-Transfer-Encoding: base64 Content-Location: claim061400a.tiff ...base64-encoded TIFF data... --MIME_boundary-- Base URI SOAP message referencing URI to the attachment Referenced URI Attachment to the SOAP message, as another part of the multipart MIME message ACS WG - Data transport with SOAP message
ACS request as a SOAP message • ACS requests are represented in SOAP message. • ACS (ARI) Create request is accompanied with AA document. • The AA document itself can be embedded in the request message or an attachment to the message. ACS WG - Data transport with SOAP message
ACS Create message (1) • Discrete files in multipart MIME: <ari:Create> <ari:AA transportType=“discrete”> <ari:aad href=“AAD.xml" /> <ari:ac href=“AAA.bbb" /> <ari:ac href=“CCC.ddd" /> : </ari:AA> </ari:Create> Each refers to other parts in MIME multipart structure (or external storage). ACS WG - Data transport with SOAP message
Discrete files in multipart MIME • Structure of the ACS Create message Create Request (SOAP) AAD AC-1 AC-2 AC-n ACS WG - Data transport with SOAP message
ACS Create message (2) • A bundled file in a MIME structure: <ari:Create> <ari:AA transportType=“bundle"> <ari:bundle href=“All.zip”/> </ari:AA> </ari:Create> This refers to another parts in MIME multipart structure. ACS WG - Data transport with SOAP message
A bundled file in multipart MIME • Structure of the ACS Create message Create Request (SOAP) A bundled file containing AAD and multiple AC’s ACS WG - Data transport with SOAP message
In summary… • The AA document for ACS Create request can be embedded in the SOAP message itself without attachments, making a single XML document. • Alternatively, it can be transported as SOAP with attachment. • There are two possible embodiment to the attachment. • Discrete files in multiple MIME • A bundled file in a MIME ACS WG - Data transport with SOAP message