MTOM and SOAP 1.1 in IS

Hello,

I have been struggling with the following problem for the past 2 days on and off.

I want to call a web service method that is exposed in a WSDL using SOAP 1.1 by another department in the company.

As it is about uploading some documents to their server, they have implemented this using MTOM.

I have created a consumer in my Integration Server to be able to call the method and also I have tried to use MTOM on my side for streaming the document that I am sending (which can be pdf, tif, etc.).

However when I check with a traffic monitoring tool (in my case Wireshark) i see that the call is NOT made using MTOM.

After some reading I found out that to use MTOM streaming you need to set the following property on the consumer in IS:

Attachment enabled: true.

However when I try to set it, I get the following exception:
“Attachments are not supported with SOAP 1.1 Protocol”

I do not know what is the problem because usually MTOM works with SOAP 1.1 as well.

Did you had this problem before?

What should I do?

I cannot go to the other department and ask them to expose their services with SOAP 1.2.

The problem is very obvious when I try to upload big files. In this cases without MTOM Streaming I am hopeless.

Thank you.

From what I understand above it is working for small files with MTOM/SOAP1.1 and only issue with large files attachedments processing with the above error?

HTH,
RMG

Hi,

It works for small files because the content of the file is sent inline. It is not using MTOM.

If I try to upload a 1 GB file it will not work because without MTOM this content will be stored in memory.

The error appears not at run-time, but when I try to change the value of the Attachment Enabled field from False to True on the consumer. (I attached 2 pictures)

attachmentEnabled.jpg
error.png

Please see the below notes from SAG support and it sounds MTOM needs SOAP1.2 to support its outbound attachments when the propery is enabled to true:


As it is known, MTOM is a feature of SOAP version 1.2, which is based on the Infoset. Officially MTOM is incorporated into the SOAP 1.2.

The attachment style MTOM is available only if the activity uses SOAP 1.2. In 8.2, a webservice provider(with pre compatibility mode=false) in IS 8.2 might process inbound MIME Attachments for SOAP 1.1 using MTOM, it may not be able to do the same for outbound message though.

Also Other article:

Additionally in 7.1, we added support for Doc/Lit SOAP 1.2 and also the MTOM Attachment support for Doc/Lit SOAP 1.2 web services. Iâ??m a little confused by your statement that the wmSOAPSamples example of MTOM processing is good for RPC, because the MTOM examples in wmSOAPSamples do not work with RPC at all. In IS 7.1.x, MTOM attachments are only supported for SOAP 1.2 Doc/Lit requests and the examples are based on SOAP 1.2 Doc/lit usage.

HTH,
RMG

Hello,

Thank you for the response.

It seems that the only option is to use SOAP 1.2, thus meaning modifying the provider WSDL.

Yes it is :frowning: