[ 
https://issues.apache.org/activemq/browse/CAMEL-3353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Willem Jiang reassigned CAMEL-3353:
-----------------------------------

    Assignee: Willem Jiang

> CxfRsInvoker silently swallows exceptions
> -----------------------------------------
>
>                 Key: CAMEL-3353
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3353
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.5.0
>            Reporter: Boris Terzic
>            Assignee: Willem Jiang
>
> If you have a route with a CXF consuming endpoint in the beginning and any 
> component afterwards that can produce Exceptions that are not 
> RuntimeCamelExceptions or WebApplicationException then the CxfRsInvoker will 
> swallow the exception and return a HTTP 204 (all fine but no content to 
> return) response.
> For example in the following route:
> {code:java}
>  from("cxfrs://bean://fooServer")
>             .convertBodyTo(Foo.class)
>             .to("bean-validator://x")
>             .to("jms:queue:foos").inOnly();
> {code}
> The bean validator component can throw BeanValidationException when the Foo 
> instance has errors. This exception will be ignored by the CxfRsInvoker.
> This causes important exceptions to become invisible by default which seems 
> wrong to me. The docs and Camel in Action additionally talk about how the 
> DefaultErrorHandler has a strategy of returning exceptions to the caller and 
> this is also not happening here.
> My local fix is a patched version of camel-cxf that converts any unknown 
> exception (i.e. not CamelRuntimeException or WebApplicationException) to a 
> WebApplicationException with the original exception as a constructor 
> parameter. This is then effectively an HTTP 500 Exception and will be 
> returned as such to the caller.
> However my knowledge of camel and camel-cxf is not sufficient to ascertain 
> whether this is the right approach, it seems to me that the 
> CamelRuntimeException should also be treated this way since in the current 
> code that will also be swallowed (as far as I can tell).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to