Recently we have enabled support for GZip in our application's SOAP client.
Our SOAP messages can sometimes get quite large, so looking up information
such as all members of a group, or series of groups benefit from the gzip
support.

http://xfire.codehaus.org/GZip+Support

Everything seems to play nice, until we put Resin behind Apache using the
mod_proxy configuration. When Resin is behind Apache, the headers come in
like this:

-25 02:27:20.854608500 02:27:20,854 DEBUG httpclient.wire.header: >> "POST
/crowd/services/SecurityServer HTTP/1.1[\r][\n]"
2007-06-25 02:27:20.854921500 02:27:20,854 DEBUG httpclient.wire.header: >>
"SOAPAction: ""[\r][\n]"
2007-06-25 02:27:20.855076500 02:27:20,855 DEBUG httpclient.wire.header: >>
"Content-Type: text/xml; charset=UTF-8[\r][\n]"
2007-06-25 02:27:20.855225500 02:27:20,855 DEBUG httpclient.wire.header: >>
"Accept-Encoding: gzip[\r][\n]"
2007-06-25 02:27:20.855402500 02:27:20,855 DEBUG httpclient.wire.header: >>
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; XFire Client
+http://xfire.codehaus.org)[\r][\n]"
2007-06-25 02:27:20.855554500 02:27:20,855 DEBUG httpclient.wire.header: >>
"Host: devsuite-test.atlassian.com[\r][\n]"
2007-06-25 02:27:20.855733500 02:27:20,855 DEBUG httpclient.wire.header: >>
"Expect: 100-continue[\r][\n]"
2007-06-25 02:27:20.855879500 02:27:20,855 DEBUG httpclient.wire.header: >>
"Content-Length: 663[\r][\n]"
2007-06-25 02:27:20.856016500 02:27:20,855 DEBUG httpclient.wire.header: >>
"[\r][\n]"

In the debug lines you can see the request has the following:

Accept-Encoding: gzip

On the response out, things change a bit:

2007-06-25 02:27:20.860854500 02:27:20,860 DEBUG httpclient.wire.header: <<
"HTTP/1.1 200 OK[\r][\n]"
2007-06-25 02:27:20.861107500 02:27:20,861 DEBUG httpclient.wire.header: <<
"Date: Mon, 25 Jun 2007 07:27:20 GMT[\r][\n]"
2007-06-25 02:27:20.861245500 02:27:20,861 DEBUG httpclient.wire.header: <<
"Server: Apache/2.0.52 (Red Hat)[\r][\n]"
2007-06-25 02:27:20.861378500 02:27:20,861 DEBUG httpclient.wire.header: <<
"Transfer-Encoding: chunked[\r][\n]"
2007-06-25 02:27:20.861514500 02:27:20,861 DEBUG httpclient.wire.header: <<
"Content-Type: text/plain; charset=UTF-8[\r][\n]"

The problem is that the messages being passed back is gzip encoded, causing
our client to bomb out:

Transfer-Encoding: chunked

I realize that the SOAP client should see the transfer-encoding is not gzip,
however when I use Tomcat (5.0.XX) behind Apache in the same configuration,
the gzip transfer-encoding remains and everything plays nice together.

Is there something I am missing that would cause the Content-Encoding header
to be stripped off on the proxy return from Resin to Apache?

Cheers,

Justen

--
Justen Stepka
http://www.jstepka.name/blog/
_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to