Hi Christian

How would I do that? (sorry, Camel beginner :-)

Stefan


On Fri, Mar 23, 2012 at 10:18, Christian Schneider
<ch...@die-schneider.net> wrote:
> Perhaps you can mark the route as inout. So the cxf from endpoint could get
> the response but of course does not have to reply.
>
> I think for transacted routes we should make this the default. Can you open
> a jira issue for that?
>
> Christian
>
> Am 23.03.2012 09:49, schrieb Stefan Burkard:
>
>> My problem seems to be that, with MEP InOnly, a CXF endpoint consuming
>> from a queue does not "see" an exception that occurs later in the
>> route and therefore commits the consumptions to the queue.
>>
>> Does anybody know how I can make this exception visible to CXF? I
>> think this should be possible, otherwise it would not be possible to
>> read asynchronous and transacted with CXF from a queue.
>>
>> Thanks
>> Stefan
>>
>>
>> On Wed, Mar 21, 2012 at 17:26, Stefan Burkard<sburk...@gmail.com>  wrote:
>>>
>>> Hi Willem
>>>
>>> I suspected something like this - I am a Camel beginner and therefore
>>> didn't know if this is a bug or a feature :-)
>>>
>>> My case is to make the following routes transactional:
>>> 1. I am consuming messages with a CXF bean endpoint from an ActiveMQ
>>> queue to get an unmarshalled Exchange (the producer sends - fire and
>>> forget - SOAP messages with mtom attachments to the queue)
>>> 2. I am sending the Exchanges with ".to(direct:...)" to the main route
>>> of my module
>>> 3. The main route processes the Exchanges
>>>
>>> To check how these routes behave under error conditions, I am
>>> injecting intentionally an exception into the direct-endpoint
>>> (to"direct:...") of the first route. Therefore I am getting (as
>>> expected) the exception and afterwards the queue is empty. This means
>>> my route is not secured against message loss. If I understand you
>>> correctly, the exception that occurs during route-processing is not
>>> recoginsed by the CXF-consumer and therefore the consumer commits the
>>> message consumption to the queue.
>>>
>>> So, how can I make this asynchronous SOAP over JMS usecase
>>> transactional so that the message remains in the queue if an error
>>> occurs during route processing?
>>>
>>> Thanks for your help
>>> Stefan
>>>
>>>
>>> On Wed, Mar 21, 2012 at 14:23, Willem Jiang<willem.ji...@gmail.com>
>>>  wrote:
>>>>
>>>> If you are using inOnly MEP, camel-cxf producer will not know any thing
>>>> about the exception.
>>>> I'm not sure what kind of error that you get.
>>>>
>>>>
>>>>
>>>> On 3/21/12 5:54 PM, Burkard Stephan wrote:
>>>>>
>>>>> 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
>>>>>
>>>>
>>>> --
>>>> Willem
>>>> ----------------------------------
>>>> FuseSource
>>>> Web: http://www.fusesource.com
>>>> Blog:    http://willemjiang.blogspot.com (English)
>>>>         http://jnn.javaeye.com (Chinese)
>>>> Twitter: willemjiang
>>>> Weibo: willemjiang
>
>
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> Talend Application Integration Division http://www.talend.com
>

Reply via email to