SOAP MTOM and the SOAPReply, SOAPRequest, and SOAPAsyncRequest nodes

The use of outbound MTOM messages from the SOAP domain can be configured on the SOAPReply, SOAPRequest, and SOAPAsyncRequest nodes.

The nodes have a property called Allow MTOM, which defines whether MTOM can be used.

An MTOM output message is written if all of the following criteria are met:
  • The Allow MTOM property is selected on the WS Extensions tab.
  • Validation is enabled. The Validate property on the SOAPRequest and SOAPAsyncRequest nodes controls validation of the anticipated response message and not validation of the outgoing request. MTOM output is therefore suppressed unless you set Validate to Content and value on a preceding input node or transformation node.
  • No child elements exist below SOAP.Attachment in the logical tree. If child elements are present, SOAP with Attachments (SwA) is used.
  • Elements exist in the output message that are identified as base64Binary in the associated XML Schema and whose length does not fall below a default threshold size of 1000 bytes.

You can use the local environment setting MTOMThreshold to override the MTOM element size threshold. The MTOM element size threshold is set to a default value of 1000 bytes.

The Allow MTOM node property and the MTOMThreshold setting can both be overridden in the local environment.

The overrides that apply at a SOAPReply node are:
  • LocalEnvironment.Destination.SOAP.Reply.AllowMTOM, which can have a value of true or false
  • LocalEnvironment.Destination.SOAP.Reply.MTOMThreshold, which is an integer value in bytes
The equivalent overrides for a SOAPRequest or SOAPAsyncRequest node are:
  • LocalEnvironment.Destination.SOAP.Request.AllowMTOM, which can have a value of true or false
  • LocalEnvironment.Destination.SOAP.Request.MTOMThreshold, which is an integer value in bytes