[ https://issues.apache.org/jira/browse/CAMEL-20938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-20938. --------------------------------- Resolution: Fixed > camel-http - Using disableStreamCache=true cannot read body later due to > stream closed > -------------------------------------------------------------------------------------- > > Key: CAMEL-20938 > URL: https://issues.apache.org/jira/browse/CAMEL-20938 > Project: Camel > Issue Type: Bug > Components: camel-http > Reporter: Claus Ibsen > Assignee: Claus Ibsen > Priority: Minor > Fix For: 4.4.4, 4.7.0 > > > Reported in mailing list. > {code} > 2024-07-03 08:47:26.061 WARN 30864 --- [ - timer://test] > ache.camel.component.timer.TimerConsumer : Error processing exchange. > Exchange[8164CC526FF834E-0000000000000000]. Caused by: > [org.apache.camel.TypeConversionException - Error during type conversion from > type: org.apache.hc.client5.http.entity.LazyDecompressingInputStream to the > required type: java.lang.String with value > org.apache.hc.client5.http.entity.LazyDecompressingInputStream@6f9df776 due > to java.io.IOException: Attempted read on closed stream.] > org.apache.camel.TypeConversionException: Error during type conversion from > type: org.apache.hc.client5.http.entity.LazyDecompressingInputStream to the > required type: java.lang.String with value > org.apache.hc.client5.http.entity.LazyDecompressingInputStream@6f9df776 due > to java.io.IOException: Attempted read on closed stream. > at > org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(CamelBaseBulkConverterLoader.java:65) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.spi.BulkTypeConverters.convertTo(BulkTypeConverters.java:122) > ~[camel-api-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.converter.CoreTypeConverterRegistry.tryCachedConverters(CoreTypeConverterRegistry.java:416) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertTo(CoreTypeConverterRegistry.java:375) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertToAndStat(CoreTypeConverterRegistry.java:269) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.converter.CoreTypeConverterRegistry.convertTo(CoreTypeConverterRegistry.java:164) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:52) > ~[camel-support-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.support.builder.ExpressionBuilder$62.evaluate(ExpressionBuilder.java:2105) > ~[camel-support-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:45) > ~[camel-support-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.processor.LogProcessor.process(LogProcessor.java:71) > ~[camel-core-processor-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:440) > ~[camel-core-processor-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:416) > ~[camel-core-processor-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199) > [camel-base-engine-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189) > [camel-base-engine-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166) > [camel-base-engine-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) > [camel-base-engine-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59) > [camel-base-engine-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) > [camel-core-processor-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:346) > [camel-base-engine-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:322) > [camel-base-engine-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:293) > [camel-timer-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.component.timer.TimerConsumer$1.doRun(TimerConsumer.java:164) > [camel-timer-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:136) > [camel-timer-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at java.base/java.util.TimerThread.mainLoop(Timer.java:566) [?:?] > at java.base/java.util.TimerThread.run(Timer.java:516) [?:?] > Caused by: java.io.IOException: Attempted read on closed stream. > at > org.apache.hc.core5.http.io.EofSensorInputStream.isReadAllowed(EofSensorInputStream.java:107) > ~[httpcore5-5.2.4.jar:5.2.4] > at > org.apache.hc.core5.http.io.EofSensorInputStream.read(EofSensorInputStream.java:116) > ~[httpcore5-5.2.4.jar:5.2.4] > at > java.base/java.util.zip.CheckedInputStream.read(CheckedInputStream.java:59) > ~[?:?] > at > java.base/java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:266) > ~[?:?] > at > java.base/java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258) > ~[?:?] > at > java.base/java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164) > ~[?:?] > at > java.base/java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79) ~[?:?] > at > java.base/java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91) ~[?:?] > at > org.apache.hc.client5.http.entity.GZIPInputStreamFactory.create(GZIPInputStreamFactory.java:61) > ~[httpclient5-5.2.1.jar:5.2.1] > at > org.apache.hc.client5.http.entity.LazyDecompressingInputStream.initWrapper(LazyDecompressingInputStream.java:51) > ~[httpclient5-5.2.1.jar:5.2.1] > at > org.apache.hc.client5.http.entity.LazyDecompressingInputStream.read(LazyDecompressingInputStream.java:69) > ~[httpclient5-5.2.1.jar:5.2.1] > at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270) > ~[?:?] > at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313) > ~[?:?] > at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188) > ~[?:?] > at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177) > ~[?:?] > at java.base/java.io.BufferedReader.fill(BufferedReader.java:162) ~[?:?] > at java.base/java.io.BufferedReader.read1(BufferedReader.java:213) > ~[?:?] > at java.base/java.io.BufferedReader.read(BufferedReader.java:287) ~[?:?] > at java.base/java.io.Reader.read(Reader.java:250) ~[?:?] > at org.apache.camel.util.IOHelper.toString(IOHelper.java:144) > ~[camel-util-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at org.apache.camel.util.IOHelper.toString(IOHelper.java:128) > ~[camel-util-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at org.apache.camel.util.IOHelper.toString(IOHelper.java:124) > ~[camel-util-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.converter.IOConverter.toString(IOConverter.java:186) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.converter.IOConverter.toString(IOConverter.java:201) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.converter.CamelBaseBulkConverterLoader.doConvertTo(CamelBaseBulkConverterLoader.java:345) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > at > org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(CamelBaseBulkConverterLoader.java:56) > ~[camel-base-4.7.0-SNAPSHOT.jar:4.7.0-SNAPSHOT] > ... 24 more > {code} > When running > {code} > import org.apache.camel.Exchange; > public class HttpBug extends org.apache.camel.builder.RouteBuilder { > @Override > public void configure() throws Exception { > getContext().getTypeConverterRegistry(); > //@formatter:off > from("timer:test?repeatCount=1") > .setHeader(Exchange.HTTP_METHOD, constant("GET")) > .setHeader(Exchange.HTTP_URI, > constant("https://camel.apache.org/components/4.4.x/http-component.html")) > .to("http:myHttpRequest?disableStreamCache=true") > .log("body : ${body}") > .end(); > //@formatter:on > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)