can I mark the route like this as InOut?
from("cxf:bean:mycxfbean").inOut()...


...and yes, I will create a JIRA issue for that

Stefan


On Fri, Mar 23, 2012 at 10:48, Stefan Burkard <sburk...@gmail.com> wrote:
> 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