You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Tadayoshi Sato (Jira)" <ji...@apache.org> on 2019/08/21 06:06:00 UTC

[jira] [Created] (CAMEL-13886) camel-servlet + camel-http4 with null body causes "Stream closed" IOException

Tadayoshi Sato created CAMEL-13886:
--------------------------------------

             Summary: 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: 3.0.0.M4, 2.25.0
            Reporter: Tadayoshi Sato
            Assignee: Tadayoshi Sato


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)