2.3.2.2 Mapping Example Using MIME Attachment

The following SOAP message is example of the TOUPPER Oracle Tuxedo service that accepts a CARRAY typed buffer as a MIME attachment.

Example 2-3 Soap Message for a CARRAY Typed Buffer Using MIME Attachment

MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
    start="<claim061400a.xml@example.com>"
Content-Description: This is the optional message description.

--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <claim061400a.xml@ example.com>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
..
<m:TOUPPER xmlns:m=”urn:…”>
<inbuf href="cid:claim061400a.carray@example.com"/>
</m:TOUPPER>
..
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

--MIME_boundary
Content-Type: text/xml
Content-Transfer-Encoding: binary
Content-ID: <claim061400a. carray @example.com>

...binary carray data…
--MIME_boundary--
The WSDL for carray typed buffer will look like the following:
<wsdl:definitions …>
<wsdl:types …>
<xsd:schema …>
<xsd:element name=”inbuf” type=”xsd:base64Binary” />
</xsd:schema>
</wsdl:types>

……

<wsdl:binding …>
    <wsdl:operation name=”TOUPPER”>
           <soap:operation …>
           <input>
                 <mime:multipartRelated>
                      <mime:part>
                           <soap:body parts=”…” use=”…”/>
                      </mime:part>
                      <mime:part>
                           <mime:content part=”…” type=”text/xml”/>
                      </mime:part>
                 </mime:multipartRelated>
           </input
           ……
    </wsdl:operation>
</wsdl:binding>

</wsdl:definitions>