You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2015/06/01 16:19:21 UTC
[jira] [Updated] (CAMEL-8042) CxfClientCallBack handleException
does not honour exception
[ https://issues.apache.org/jira/browse/CAMEL-8042?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Willem Jiang updated CAMEL-8042:
--------------------------------
Fix Version/s: (was: 2.14.3)
2.14.4
> CxfClientCallBack handleException does not honour exception
> -----------------------------------------------------------
>
> Key: CAMEL-8042
> URL: https://issues.apache.org/jira/browse/CAMEL-8042
> Project: Camel
> Issue Type: Bug
> Components: camel-cxf
> Affects Versions: 2.11.2, 2.14.0
> Environment: Windows
> Reporter: John McKeogh
> Assignee: Willem Jiang
> Fix For: 2.15.3, 2.14.4
>
> Attachments: camel-8042.tar.gz, greeter-corba.wsdl
>
>
> Hi,
> Since Camel 2.11.2, The cxfClientCallBack doesn't seem to be honouring the exception that it is passed in.
> Here is a copy of the HandleException funciton before and after 11.2
> 2.11.1
> public void handleException(Map<String, Object> ctx, Throwable ex) {
> try {
> super.handleException(ctx, ex);
> camelExchange.setException(ex);
> } finally {
> // copy
> 2.11.2
> public void handleException(Map<String, Object> ctx, Throwable ex) {
> try {
> super.handleException(ctx, ex);
> // need to call the conduitSelector complete method to enable the fail over feature
> ConduitSelector conduitSelector = cxfExchange.get(ConduitSelector.class);
> if (conduitSelector != null) {
> conduitSelector.complete(cxfExchange);
> ex = cxfExchange.getOutMessage().getContent(Exception.class);
> if (ex == null && cxfExchange.getInMessage() != null) {
> ex = cxfExchange.getInMessage().getContent(Exception.class);
> }
> if (ex != null) {
> camelExchange.setException(ex);
> }
> } else {
> camelExchange.setException(ex);
> }
> } finally {
> So for our testcase where we have a cxf client calling through camel to a Corba web service, the exception that the webservice is passing back to camel is no longer honoured.
> I believe this change was introduced by the following jira:
> https://issues.apache.org/jira/browse/CAMEL-6609
> I have attached the wsdl of the corba web-service.
> In the service we are calling PingMe expecting to get back a PingMeFault_Exception. The exception is set in the cxf corba binding and reached the exception handler in camel. But the exception is no longer being sent back to the client. Instead a generic SoapFaultException is reaching the client.
> Cheers,
> John.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)