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

Reply via email to