I have an old style .NET ASMX (SOAP/XML) webservice that is used to upload data to a central service with a very simple and lightweight ack response. This has been in place for years and has worked perfectly well.
However, usage has now changed a little and the overall size of the payload data being sent has increased to the point where it is no longer feasible/reliable to send the data uncompressed.
So the question is: how can I enable compression on the data sent from the client to the webservice.
Having Google’d around there are countless pages regarding compressing the response from the service, however I need to compress the request.
Bear in mind that this has to remain as an ASMX and has to remain on .NET 2
EDIT : As an interim measure I am manually compressing (GZIP) the payload data before it is sent and then uncompressing on the other side. This works but I would prefer “traditional transport level” compression.
For example:
...
<soap:Body>
<MessageData id="1234">
<SenderIdentifier>foobar</SenderIdentifier>
<Payload>....This is what is compressed (GZIP)....</Payload>
</MessageData>
</soap:Body>
....
I’ve blogged on that 3 years ago:
http://netpl.blogspot.com/2009/07/aspnet-webservices-two-way-response-and.html