1 Reply Latest reply on Nov 9, 2010 10:03 PM by njiang

    camel (2.2) http and content-encoding = gzip

    guest

      Hello, I have this for my route and I realize that the camel-http component actually tries to gzip.  But I get an exception thrown although it seems like I have a gzipped payload. Here's the route:

       

           

       

       

      13:50:58,613 | ERROR | rrentConsumers=5 | SedaConsumer                     | rg.apache.camel.processor.Logger  248 | Error processing exchange. Exchange[Message: . Caused by:

      java.io.EOFException

           at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:207)

           at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:197)

           at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:136)

           at java.util.zip.GZIPInputStream.(GZIPInputStream.java:68)

           at org.apache.camel.component.http.helper.GZIPHelper.toGZIPInputStream(GZIPHelper.java:40)

           at org.apache.camel.component.http.HttpProducer.extractResponseBody(HttpProducer.java:202)

           at org.apache.camel.component.http.HttpProducer.populateResponse(HttpProducer.java:110)

           at org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:89)

           at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)

           at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)

           at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)

           at org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)

           at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)

           at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)

           at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)

           at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)

           at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)

           at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)

           at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)

           at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)

           at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)

           at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)

           at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)

           at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)

           at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:76)

           at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)

           at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)

           at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)

           at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)

           at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)

           at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)

           at org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)

           at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)

           at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)

           at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)

           at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)

           at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)

           at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)

           at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)

           at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)

           at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)

           at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)

           at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)

           at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)

       

       

       

       

      THANKS!

        • 1. Re: camel (2.2) http and content-encoding = gzip
          njiang

          HttpProducer need to check the response even the ExchangePattern is InOnly, because there always a response code of a http request.

           

          It looks like the service response is not return a valid gzip input stream.

          Can you double check this ?

           

          Willem