Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.20.1
-
None
-
Unknown
Description
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.