You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Thomas Papke (JIRA)" <ji...@apache.org> on 2017/11/23 07:57:00 UTC

[jira] [Commented] (CAMEL-12021) ProducerTemplate.requestBody with responseType throw a InvalidPayloadException instead of original exception (wrapped in a CamelExecutionException)

    [ https://issues.apache.org/jira/browse/CAMEL-12021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16263931#comment-16263931 ] 

Thomas Papke commented on CAMEL-12021:
--------------------------------------

Looks good, thank you for providing a fix. 

[~davsclaus]:
Just for my understanding: The ConvertBodyProcessor where you have done the fix, looks the same in Camel 2.19 and 2.20. Why is the behavior different in both releases? Which change or fix in 2.20 has broken the behavior?

> ProducerTemplate.requestBody with responseType throw a InvalidPayloadException instead of original exception (wrapped in a CamelExecutionException)
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-12021
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12021
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.20.1
>            Reporter: Thomas Papke
>            Assignee: Claus Ibsen
>             Fix For: 2.20.2, 2.21.0
>
>         Attachments: camel-issue.patch
>
>
> I try to upgrade from camel 2.19.3 to camel 2.20.1 and the behavior of {{org.apache.camel.ProducerTemplate.requestBody(String, Object, Class<T>)}} seems to be broken in case of exceptions.
> From the API the exception behavior is documented as "CamelExecutionException if the processing of the exchange failed"
> --> in camel 2.19 it works without any issues
> --> since camel 2.20.1 the underlying exception is lost and instead a InvalidPayloadException is thrown. 
> A first analyze looks like the internal camel processing in 2.20 try to convert the exchange in body to the given response type. But i don't think this is make sense in case of a exception. Using the requestBody without the response type work correctly - here the unterlying exception is correctly propagated back as a wrapped CamelExecutionException.
> I was not able to find the root cause, so I could not provide a patch here - but I have attached a junit test to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)