You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2011/09/02 11:22:10 UTC
[jira] [Resolved] (CAMEL-4324) Response body lost when an HTTP
error code is returned
[ https://issues.apache.org/jira/browse/CAMEL-4324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Willem Jiang resolved CAMEL-4324.
---------------------------------
Resolution: Fixed
Applied patch into trunk.
> 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.6.0, 2.7.0, 2.8.0
> Reporter: Cedric de Launois
> Assignee: Willem Jiang
> Priority: Minor
> Fix For: 2.9.0
>
>
> 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 (class org.apache.camel.component.restlet.RestletProducer, method populateRestletProducerException) :
> {code}
> String copy = response.toString();
> {code}
> that should be instead something like :
> {code}
> String copy = null;
> if (response.getEntity() != null) {
> // get content text
> copy = response.getEntity().getText();
> }
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira