I have been doing some research on the topic of how to enable Gzip compression between Axis and a Microsoft .NET Framework client.
It appears the best way to go about doing this is to add a http header along with the request from the client. The following article describes how to add the header and then decompress the response stream. It requires the use of an open source Zip library on the client. Retrieving Data from Web Services using Standard HTTP 1.1 Compression by Jacek Chmiel (http://www.dotnetjunkies.com/tutorials.aspx?tutorialid=304) I then attempted to use a standard Java Servlet 2.3 Filter to compress data sent from the server. My compression filter came from the code in the following article: Filter code with Servlet 2.3 by Jason Hunter (http://www.servlets.com/soapbox/filters.html) This appears to be the most straightforward way to add compression capabilities to Axis. By adding a request header, I state that my client application can accept compressed or uncompressed data. Therefore, I do not loose interoperability with other implementations. The compression filter checks for the header and then compresses data generated by Axis. I think this design is simple and elegant. Unfortunately, it does not work. Does anyone have any ideas? Does anyone know of a Gzip compression library for .NET that has been tested for compatibility with the Java implementation? Any thoughts appreciated. Rick
