[ https://issues.apache.org/activemq/browse/CAMEL-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55140#action_55140 ]
Christian Schneider edited comment on CAMEL-2128 at 11/3/09 4:36 AM: --------------------------------------------------------------------- Willem Jiang has created a patch that partly resolves this issue: was (Author: ch...@die-schneider.net): Willem Jiang has created a patch that partly resolves this issue: ### Eclipse Workspace Patch 1.0 #P camel-cxf Index: src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java =================================================================== --- src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java (revision 831871) +++ src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java (working copy) @@ -271,6 +271,12 @@ propagateResponseHeadersToCamel(outMessage, camelExchange); + // check if the outMessage has an exception + Exception exception = outMessage.getContent(Exception.class); + if (exception != null) { + camelExchange.setException(exception); + } + CachedOutputStream outputStream = (CachedOutputStream)outMessage.getContent(OutputStream.class); camelExchange.getOut().setBody(outputStream.getBytes()); getLogger().log(Level.FINE, "send the response message: " + outputStream); > 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.