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

Christian Schneider commented on CAMEL-2128:
--------------------------------------------

I have managed to route my special NoSuchCustomerException so that it will 
commit and return a fault by using the following camel context.
While I still think the defined exceptions should be handled as a Soap Fault by 
default this at least means that my transactional CXF Service works. So I think 
the patch from Willem should go into trunk.

<camelContext id="camelContext" trace="false" 
xmlns="http://camel.apache.org/schema/spring";>
  <onException>
    
<exception>net.enbw.services.etg.examples.customerservice.NoSuchCustomerException</exception>
      <handled><constant>true</constant></handled>
    </onException>
    <route>
      <from uri="direct:client"/>
      <to 
uri="jms://queue.net.enbw.services.etg.examples.customerservice.CustomerService"
 />
  </route>
  <route>
    <from 
uri="jms://queue.net.enbw.services.etg.examples.customerservice.CustomerService"
 />
    <transacted/>
    <to uri="direct:server"/>
  </route>
</camelContext>


> Rollback does not work for transactional routes using camel-cxf
> ---------------------------------------------------------------
>
>                 Key: CAMEL-2128
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2128
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.0.0
>            Reporter: Christian Schneider
>         Attachments: appcontext.xml, patch.txt
>
>
> I have a request reply service that should be able to do three different
> things:
> 1)  no exception occurs in the implementation: The jms Message should be
> committed and the normal reply should be sent
> 2) The implementation throws an exception defined in the service contract:
> The jms message should be committed and a fault should be sent
> 3) The implemementation throws another kind of exception: The message 
> delivery should
> be rolled back so it can be received again
> Case 1 and 2 currently work as expected.
> For Case 3 a fault is returned to the caller and the transaction is committed 
> which is wrong. 

-- 
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