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