Thanks for your reply. Currently, the web service provider is not yet set up, we currently are adding some details to an application architecture where Software AG would send messages to different parties, using the same webservice which will be hosted at the different parties. These parties will use different technologies to provide this soap web service, so I want to setup a solution which is widely supported, however, we have the option to request these parties to support/enable additional compression functionalities.
The messages which are being sent to the different parties would have a lot of XML content. It’s not an attachment to the XML, but really just a lot of XML elements, resulting in an XML file of approx 15MB. To decrease the transfer time I want to compress this soap body. I see several options:
-
Compress the transport layer.
This solution I already used in the past with other technologies to compress the soap response. This is a widely accepted solution, which improved the performance greatly, as in that case, the communication was over a wireless connection. However, now I want to compress the request instead of the response. It would be up to the web service provider to automatically detect the content is compressed, by interpreting the “Content-type” header. I still have to check which technologies accept compressed requests, but a first analysis leads me to believe this is accepted by the majority of the implementors. Before analysing this further, I first need to know if I can even create compressed requests in webMethods.
-
Compress the SOAP body
I found information about binary message encoding which supports gzip compression, however, I only found information about this in Microsoft documentation, it doesn’t seem to be a widely accepted solution. Is this correct?
-
Using MTOM (Message Transmission Optimization Mechanism-
This mechanism is used to compress binary data, which would normally be sent using base64 encoding. In my case, I want to send xml data, so this option doesn’t seem to be the most user-friendly solution.
So indeed in short, I would like to enable compression on the transport layer when sending the request to the soap webservice within webMethods.
#Integration-Server-and-ESB#webMethods-Architecture#webMethods#webMethods-General