Contents
                        Message Transmission Optimization Mechanism (MTOM) provides a way to 
                        send binary data to Web Services in standard SOAP messages. MTOM
                        leverages the include mechanism defined by XML Optimized Packaging (XOP)
                        whereby binary data can be sent as a MIME attachment (similar to SOAP
                        with Attachments) to a SOAP message.  The binary data can then be referenced 
                        in the SOAP message using the <xop:Include> element.
                      
               
The following MTOM message contains a binary image encapsulated in a MIME part:
![]()  | 
                        Important | 
|---|---|
| 
                            
                                        The MIME part that contains the binary image is referenced in the 
                                        SOAP request body using the   | 
                     
POST /services/uploadImages HTTP/1.1
Host: API Gateway Explorer
Content-Type: Multipart/Related;boundary=MIME_boundary;
    type="application/xop+xml";
    start="<mymessage.xml@example.org>";
    start-info="text/xml"
--MIME_boundary
Content-Type: application/xop+xml; 
    charset=UTF-8; 
    type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <mymessage.xml@example.org>
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
  <uploadGraphic xmlns="www.example.org">
   <image>
     <xop:Include xmlns:xop='http://www.w3.org/2004/08/xop/include' 
          href='cid:http://example.org/myimage.gif'/>
   </image>
  </uploadGraphic>
 </soap:Body>
</soap:Envelope>   
--MIME_boundary
Content-Type: image/gif
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/myimage.gif>
// binary octets for image
--MIME_boundary
                        When the API Gateway receives this request, the Insert MTOM Attachment 
                        filter can be used to read the binary data in the MIME parts pointed to by the 
                        <xop:Include> elements embedded in the SOAP request. The 
                        binary data is then Base64-encoded and inserted into the message in place of the 
                        <xop:Include> elements.  The resulting message is as follows:
                     
                  
               
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <uploadGraphic xmlns="www.example.org"> <image>/aWKKapGGyQ=</image> </uploadGraphic> </soap:Body> </soap:Envelope>
Complete the following fields to configure this filter:
Name:
Enter a name for the filter.
XPath Location:
                        Use an XPath expression to point to the location of the  
                        <xop:Include> element that refers to the binary
                        attachment. The specified XPath expression can point to multiple 
                        <xop:Include> elements if necessary. For example, 
                        an XPath expression of //xop:Include returns 
                        all <xop:Include> elements 
                        in the SOAP Envelope. For more information, see the 
                        Configuring XPath Expressions 
                        topic.
                      
               
Remove attachments once they have been included in the message:
Select this option if you wish to remove the MIME parts that contain the actual binary content from the message after they have been inserted into the message.

![[Important]](../common_oracle/images/admon/important.png)
