thanks all, it appears in http using wireshark (finally got it to show
me what I wanted) it is doing what is expected. Https... well too hard
for me to check so I'll just take it on faith that it works since it's
just a tomcat connector outside of what cxf/my application returns.




On 3/13/13, Ted <[email protected]> wrote:
> thanks, I'd looked at the blog before, I don't believe it has anything
> I haven't already implemented.
>
> In terms of wireshark, I had also tried that before but none of the
> contents were comprehensible to me so I was not really able to tell
> what was or wasn't gzipped. I even moved it from https to http to try
> to get the contents in a relatively "plain text" format so I can see
> when it was not compressed and when it was, but I could never get the
> plain text version so I was not able to determine a change... it's the
> first time I'd used wireshark though, that's why I tried to look at
> the header instead.
>
> The header shows up on larger packets so I suspect at least for the
> threshold problem on out bound messages, it should be an indication of
> when it is and is not gzipped.
>
> I'll spend some more time with wireshark and see if I can't figure out
> how to use it a little better though. thanks.
>
> On 3/13/13, Daniel Kulp <[email protected]> wrote:
>>
>> Can you use wireshark or similar to get the raw transfer bytes?   I
>> believe
>> the GZIPInInterceptor would run before the LoggingInInterceptor.  Thus,
>> but
>> the time it gets to the logging interceptor, the payload has been
>> completely
>> un-gzipped and the Content-Encoding header stripped off.
>>
>> Dan
>>
>>
>>
>>
>> On Mar 11, 2013, at 8:56 PM, Ted <[email protected]> wrote:
>>
>>> Thanks, I'm not trying to force the first one to be GZ, but the
>>> problem is the second one doesn't appear to be GZ either.
>>>
>>> Just to test it, I hard coded 2 identical calls in succession :
>>>
>>>     
>>> System.err.println(messageWs.getUnreadActiveMessageCount(loggedInInfo.getLoggedInPersonId()));
>>>     
>>> System.err.println(messageWs.getUnreadActiveMessageCount(loggedInInfo.getLoggedInPersonId()));
>>>
>>> The out put from the logs appear to be non gz-ed :
>>>     2013-03-12 11:31:14,818 INFO  [MessageWs:234] Inbound Message
>>>     ----------------------------
>>>     ID: 38
>>>     Address: https://127.0.0.1:8091/myoscar_server/ws/MessageService
>>>     Encoding: UTF-8
>>>     Http-Method: POST
>>>     Content-Type: text/xml; charset=UTF-8
>>>     Headers: {Accept=[*/*], accept-encoding=[gzip;q=1.0, identity; q=0.5,
>>> *;q=0], cache-control=[no-cache], connection=[keep-alive],
>>> Content-Length=[785], content-type=[text/xml; charset=UTF-8],
>>> host=[127.0.0.1:8091], pragma=[no-cache], SOAPAction=[""],
>>> user-agent=[Apache CXF 2.7.3]}
>>>     Payload: <soap:Envelope ... </soap:Envelope>
>>>     --------------------------------------
>>>     2013-03-12 11:31:14,834 INFO  [MessageWs:234] Outbound Message
>>>     ---------------------------
>>>     ID: 38
>>>     Encoding: UTF-8
>>>     Content-Type: text/xml
>>>     Headers:
>>>     Payload: <soap:Envelope
>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><ns2:getUnreadActiveMessageCountResponse
>>> xmlns:ns2="http://ws.myoscar_server.oscarehr.org/";><return>31</return></ns2:getUnreadActiveMessageCountResponse></soap:Body></soap:Envelope>
>>>     --------------------------------------
>>>     2013-03-12 11:31:14,841 INFO  [MessageWs:234] Inbound Message
>>>     ----------------------------
>>>     ID: 39
>>>     Address: https://127.0.0.1:8091/myoscar_server/ws/MessageService
>>>     Encoding: UTF-8
>>>     Http-Method: POST
>>>     Content-Type: text/xml; charset=UTF-8
>>>     Headers: {Accept=[*/*], accept-encoding=[gzip;q=1.0, identity; q=0.5,
>>> *;q=0], cache-control=[no-cache], connection=[keep-alive],
>>> Content-Length=[785], content-type=[text/xml; charset=UTF-8],
>>> host=[127.0.0.1:8091], pragma=[no-cache], SOAPAction=[""],
>>> user-agent=[Apache CXF 2.7.3]}
>>>     Payload: <soap:Envelope ... </soap:Envelope>
>>>     --------------------------------------
>>>     2013-03-12 11:31:14,855 INFO  [MessageWs:234] Outbound Message
>>>     ---------------------------
>>>     ID: 39
>>>     Encoding: UTF-8
>>>     Content-Type: text/xml
>>>     Headers:
>>>     Payload: <soap:Envelope
>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><ns2:getUnreadActiveMessageCountResponse
>>> xmlns:ns2="http://ws.myoscar_server.oscarehr.org/";><return>31</return></ns2:getUnreadActiveMessageCountResponse></soap:Body></soap:Envelope>
>>>     --------------------------------------
>>>
>>>
>>> I'm assuming I should have seen a "Content-Encoding=[gzip]" in the
>>> header somewhere if it were gz-ed?
>>>
>>> Just to see if it's related to the 1k theshold problem, I did a 4k
>>> message test too, still same header results, no gz.
>>>
>>> I also tried your suggestion just to test :
>>>
>>>     GZIPOutInterceptor x = new GZIPOutInterceptor(100);
>>>     x.setForce(true);
>>>     System.err.println("----- JUST SET FORCE TRUE");
>>>     cxfClient.getOutInterceptors().add(x);
>>>
>>> still the same results. Is it suppose to show
>>> "Content-Encoding=[gzip]" on the inbound requests? or is there another
>>> way to check for gz?
>>>
>>> Also the outbound requests are not taking the threshold into account,
>>> it seems to be 1k no matter what I set it to. Notice the responses
>>> from above are also missing the gzip entry in the header, I do get
>>> those on larger outbound objects though so I know the setting is at
>>> least taking effect sometimes.
>>>
>>> On 3/12/13, Daniel Kulp <[email protected]> wrote:
>>>>
>>>> By default, the GZIP out stuff on the client uses a "negotiated" method
>>>> where the first request is not-gzipped, but with the Accept-Encoding
>>>> header
>>>> since it does not know if the server knows how to handle a GZIP post.
>>>> If
>>>> the server responds with a GZIP response, subsequent requests from that
>>>> client will be gzipped.     Try making multiple calls with the same
>>>> client
>>>> object and see if the headers and such change.
>>>>
>>>> You can force the first request to be gzipped by doing:
>>>>
>>>> GZIPOutInterceptor gz = new GZIPOutInterceptor(128)
>>>> gz.setForce(true);
>>>> client.getOutInterceptors().add(gz);
>>>>
>>>> Hope that helps!
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>> On Mar 11, 2013, at 12:22 AM, Ted <[email protected]> wrote:
>>>>
>>>>> Hi I just tried gzip compression and it appears to be working in some
>>>>> cases but not in others.
>>>>> I'm on openjdk 1.7.0.3 and cxf 2.7.3 and tomcat 7.0.27.
>>>>>
>>>>> On the server side I've set
>>>>>   @GZIP(threshold=128)
>>>>> on the web services
>>>>>
>>>>> On the client I've set
>>>>>   cxfClient.getInInterceptors().add(new GZIPInInterceptor());
>>>>>   cxfClient.getOutInterceptors().add(new GZIPOutInterceptor(128));
>>>>>
>>>>> I'm logging what's going on with the server with :
>>>>>   <bean id="compressGZIPFeature"
>>>>> class="org.apache.cxf.transport.common.gzip.GZIPFeature"/>
>>>>>   <bean id="loggingFeature"
>>>>> class="org.apache.cxf.feature.LoggingFeature"/>
>>>>>
>>>>>   <cxf:bus>
>>>>>           <cxf:features>
>>>>>                   <ref bean="compressGZIPFeature"/>
>>>>>                   <ref bean="loggingFeature"/>
>>>>>           </cxf:features>
>>>>>   </cxf:bus>
>>>>>
>>>>> What I can see is the client is sending
>>>>>   Headers: {Accept-Encoding=[gzip;q=1.0, identity; q=0.5, *;q=0]}
>>>>>
>>>>> I can see if I have a large response (over 1k) I'm getting
>>>>>   Headers: {Content-Encoding=[gzip], Vary=[Accept-Encoding]}
>>>>>
>>>>> The 2 problems I'm having is
>>>>>
>>>>> 1) the 128 seems to have no effect, I even tried '0' as per the
>>>>> documentation for always on, and it does seem to work. Small data is
>>>>> just normal / no mention of gzip encoding like the large data
>>>>>
>>>>> 2) The requests being sent by the client do not appear to be gziped,
>>>>> but honestly I'm not sure how to check or what header to look for.
>>>>> Have I missed something in the configuration?
>>>>>
>>>>> thanks
>>>>> --
>>>>> Ted.
>>>>
>>>> --
>>>> Daniel Kulp
>>>> [email protected] - http://dankulp.com/blog
>>>> Talend Community Coder - http://coders.talend.com
>>>>
>>>>
>>>
>>>
>>> --
>>> Ted.
>>
>> --
>> Daniel Kulp
>> [email protected] - http://dankulp.com/blog
>> Talend Community Coder - http://coders.talend.com
>>
>>
>
>
> --
> Ted.
>


-- 
Ted.

Reply via email to