mod_deflate does not work for zipped incoming soap request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

I'm trying to make mod_deflate work to decompress zipped incoming soap requests.

The system is something like this:
webservice client --> httpd -->mod_jk --> Webservice exposed by Jboss server.

httpd version is 2.2.3

Since the SOAP messages are somehow big, I want the webservice client to send zipped soap message. And the HTTPD should de-compress it with mod_deflate and then pass the de-compressed soap requests to the application server via mod-jk.

I added the following config into httpd.conf:
#---------------------------------
SetOutputFilter DEFLATE
SetInputFilter DEFLATE

DeflateFilterNote input
DeflateFilterNote output
DeflateFilterNote ratio
LogFormat '%h %t "%r" %{output}n/%{input}n (%{ratio}n%%)' deflate

CustomLog logs/deflate_log.log deflate
#---------------------------------

I expect that httpd should decompress all the incoming http request with "Content-Encoding=gzip" with this configuration. But when I check the debug logging of mod_jk, I found that the requests passed to mod_jk were NOT DECOMPRESSED.

Here is the access log of an incoming request (LogFormat: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Content-Length}i\" \"%{Content-Type}i\" \"%{Content-Encoding}i\"" combined):

172.18.50.17 - - [30/Nov/2010:20:31:58 +0800] "POST /ws/TestService HTTP/1.1" 400 - "-" "Jakarta Commons-HttpClient/3.1" "806" "text/xml;charset=UTF-8" "gzip"

We can see that the incoming message is a gzipped message.


and in deflate_log.log:
172.18.50.17 [30/Nov/2010:20:31:58 +0800] "POST /ws/TestService HTTP/1.1" -/- (-%)

172.18.50.17 [30/Nov/2010:20:46:51 +0800] "GET / HTTP/1.1" -/- (43%)

According to the first line it seems that the mod_deflate does NOT work for incoming requests(?), since input/output/ratio are all empty.
According to the second line it seems that the mod_defalte does work for outcoming response...because at least ratio is not empty...(so that we can be sure that mod_deflate is loaded properly)

I googled a lot and went over mod_deflate source code but found no hints.

Is there anyone has make some similiar system work?  or is there any further config I should add to make deflate work for the incoming requests? and is there further debugging methods? (I put LogLevel to debug, but there is no related logs..)

Thanks!




[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux