[
https://issues.apache.org/jira/browse/CAMEL-13886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tadayoshi Sato updated CAMEL-13886:
-----------------------------------
Description:
A Rest DSL route like the following causes {{java.io.IOException: Stream
closed}} when invoked at http://localhost:8000/test/proxy:
{code:java}
rest("/test")
.get("/proxy")
.to("direct:callInternalRestService");
from("direct:callInternalRestService")
.setHeader(Exchange.HTTP_METHOD, constant("DELETE"))
//.setBody(constant("")) // workaround for null body and http4
component
.to("http4://localhost:9000/test?bridgeEndpoint=true")
.log("${body}");
{code}
The error stacktrace:
{code}
Caused by: java.io.IOException: Stream closed
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:372)
at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:156)
at org.apache.camel.util.IOHelper.copy(IOHelper.java:202)
at org.apache.camel.util.IOHelper.copy(IOHelper.java:174)
at org.apache.camel.util.IOHelper.copyAndCloseInput(IOHelper.java:234)
at org.apache.camel.util.IOHelper.copyAndCloseInput(IOHelper.java:230)
at
org.apache.camel.http.common.HttpHelper.readResponseBodyFromInputStream(HttpHelper.java:245)
at
org.apache.camel.http.common.HttpHelper.readRequestBodyFromServletRequest(HttpHelper.java:196)
at
org.apache.camel.http.common.DefaultHttpBinding.parseBody(DefaultHttpBinding.java:577)
at
org.apache.camel.http.common.HttpMessage.createBody(HttpMessage.java:78)
... 54 common frames omitted
{code}
-This seems to happen only when Tomcat is used as the container with Spring
Boot. Undertow doesn't cause such an issue.-
was:
A Rest DSL route like the following causes {{java.io.IOException: Stream
closed}} when invoked at http://localhost:8000/test/proxy:
{code:java}
rest("/test")
.get("/proxy")
.to("direct:callInternalRestService");
from("direct:callInternalRestService")
.setHeader(Exchange.HTTP_METHOD, constant("DELETE"))
//.setBody(constant("")) // workaround for null body and http4
component
.to("http4://localhost:9000/test?bridgeEndpoint=true")
.log("${body}");
{code}
The error stacktrace:
{code}
Caused by: java.io.IOException: Stream closed
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:372)
at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:156)
at org.apache.camel.util.IOHelper.copy(IOHelper.java:202)
at org.apache.camel.util.IOHelper.copy(IOHelper.java:174)
at org.apache.camel.util.IOHelper.copyAndCloseInput(IOHelper.java:234)
at org.apache.camel.util.IOHelper.copyAndCloseInput(IOHelper.java:230)
at
org.apache.camel.http.common.HttpHelper.readResponseBodyFromInputStream(HttpHelper.java:245)
at
org.apache.camel.http.common.HttpHelper.readRequestBodyFromServletRequest(HttpHelper.java:196)
at
org.apache.camel.http.common.DefaultHttpBinding.parseBody(DefaultHttpBinding.java:577)
at
org.apache.camel.http.common.HttpMessage.createBody(HttpMessage.java:78)
... 54 common frames omitted
{code}
This seems to happen only when Tomcat is used as the container with Spring
Boot. Undertow doesn't cause such an issue.
> camel-servlet + camel-http4 with null body causes "Stream closed" IOException
> -----------------------------------------------------------------------------
>
> Key: CAMEL-13886
> URL: https://issues.apache.org/jira/browse/CAMEL-13886
> Project: Camel
> Issue Type: Bug
> Components: camel-http-common, camel-http4, camel-servlet
> Affects Versions: 2.25.0, 3.0.0.M4
> Reporter: Tadayoshi Sato
> Assignee: Tadayoshi Sato
> Priority: Major
> Fix For: 2.25.0, 3.0.0.RC1
>
>
> A Rest DSL route like the following causes {{java.io.IOException: Stream
> closed}} when invoked at http://localhost:8000/test/proxy:
> {code:java}
> rest("/test")
> .get("/proxy")
> .to("direct:callInternalRestService");
> from("direct:callInternalRestService")
> .setHeader(Exchange.HTTP_METHOD, constant("DELETE"))
> //.setBody(constant("")) // workaround for null body and
> http4 component
> .to("http4://localhost:9000/test?bridgeEndpoint=true")
> .log("${body}");
> {code}
> The error stacktrace:
> {code}
> Caused by: java.io.IOException: Stream closed
> at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:372)
> at
> org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:156)
> at org.apache.camel.util.IOHelper.copy(IOHelper.java:202)
> at org.apache.camel.util.IOHelper.copy(IOHelper.java:174)
> at org.apache.camel.util.IOHelper.copyAndCloseInput(IOHelper.java:234)
> at org.apache.camel.util.IOHelper.copyAndCloseInput(IOHelper.java:230)
> at
> org.apache.camel.http.common.HttpHelper.readResponseBodyFromInputStream(HttpHelper.java:245)
> at
> org.apache.camel.http.common.HttpHelper.readRequestBodyFromServletRequest(HttpHelper.java:196)
> at
> org.apache.camel.http.common.DefaultHttpBinding.parseBody(DefaultHttpBinding.java:577)
> at
> org.apache.camel.http.common.HttpMessage.createBody(HttpMessage.java:78)
> ... 54 common frames omitted
> {code}
> -This seems to happen only when Tomcat is used as the container with Spring
> Boot. Undertow doesn't cause such an issue.-
--
This message was sent by Atlassian Jira
(v8.3.2#803003)