Hi Aki I have configured a cxfEndpoint that consumes a JMS queue (address="activemq:queue:...").
I'm currently bound to Camel 2.2, so the "synchronous" property does not exist, but I have already set the "org.apache.cxf.interceptor.OneWayProcessorInterceptor.USE_ORIGINAL_THREAD" property. Probably this is the "old" equivalent to set synchronous? To be more precise on the usecase: JMS-Queue -> from: CXF-bean-consumer ... to: direct-endpoint [Here I advice an exception] => from: direct-endpoint ... to: depends. The result of this is a failed processing and an empty queue, so the message is lost. If I replace the CXF-consumer with an activemq:queue-consumer the transactions works fine, if an exception occurs the message stays in the queue. But of course I would need to unmarshal etc. the SOAP request manually. Regards Stefan On Wed, Mar 21, 2012 at 12:58, Aki Yoshida <elak...@googlemail.com> wrote: > Hi, > Is this a jms -> cxf route scenario and you want to get an exception > from the cxf endpoint? In that case, you need to set the synchronous > property at the camel-cxf endpoint. > > http://camel.apache.org/cxf.html#CXF-URIformat > > regards, aki > > 2012/3/21 Burkard Stephan <stephan.burk...@visana.ch>: >> Hello >> >> I try to get running a SOAP over JMS usecase with the configuration >> outlined here: >> http://camel.apache.org/better-jms-transport-for-cxf-webservice-using-ap >> ache-camel.html >> <http://camel.apache.org/better-jms-transport-for-cxf-webservice-using-a >> pache-camel.html> >> >> My webservice is InOnly, it does not respond to requests. The client >> therefore sends SOAP messages to a queue without waiting for an answer. >> On the server side camel consumes the messages. >> >> I tried to test transaction behaviour of my camel routes with unittests >> where I advice the route with exceptions that occur at specific >> entpoints. This works fine when I consume from the queue directly >> (activemq:queue:...). If an error occurs the message is not commited and >> it stays in the queue. >> When I use a CXF endpoint to consume messages (cxf:bean:...), messages >> are lost when an exception occurs. They seem to be commited in activemq >> before or despite an error occurs. >> Therefore I tried to read first from the queue directly, forward the >> message to a direct endpoint and consume the messages with CXF from the >> direct endpoint. But in this case the message is also lost if an error >> occurs after consuming the message with CXF. >> >> Before posting routes and configuration details, I just would like to >> know if this is "normal" behaviour of the CXF endpoint with inOnly MEP >> or if the messages should stay in the queue as I expect? >> >> Perhaps this is the same problem as described in this thread: >> http://camel.465427.n5.nabble.com/CXF-Camel-JMS-Endpoint-exception-handl >> ing-td4471175.html >> <http://camel.465427.n5.nabble.com/CXF-Camel-JMS-Endpoint-exception-hand >> ling-td4471175.html> ? >> >> Thanks for your help >> Stefan