Response body lost when an HTTP error code is returned
------------------------------------------------------

                 Key: CAMEL-4324
                 URL: https://issues.apache.org/jira/browse/CAMEL-4324
             Project: Camel
          Issue Type: Bug
          Components: camel-restlet
    Affects Versions: 2.8.0, 2.7.0, 2.6.0
            Reporter: Cedric de Launois


When a REST service returns an HTTP error code (e.g. 404) with some content in 
the response body, this body is not correctly copied into the exception.
This results e.g. in ${exception.responseBody} having a value like 
"org.restlet.data.Response@17bf0a7" in the following route fragment :

<doTry>
    <to uri="restlet:http://my.service.com/ws/{id}"/>
    <doCatch>
        <exception>org.apache.camel.CamelException</exception>
        <log message="body is : ${exception.responseBody}"/>
    </doCatch>
</doTry>

The problem is probably due to the statement :
   String copy = response.toString();

that should be instead something like :
   String copy = null;
   if (response.getEntity() != null) {
       // get content text
       copy = response.getEntity().getText();
   }


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to