cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Schneider <ch...@die-schneider.net>
Subject Re: Problem with SOAP/JMS using camel and cxf
Date Wed, 06 Jan 2010 10:08:36 GMT
Hi Dan,

since I did the last bigger updates on JMS many things have changed. So
I am not that familiar with the current code.

My problem is mainly with the conduit as I have a Eclipse RCP client
where I did not manage to get Camel running. So I used pure CXF and ran
into the strange behaviour of my existing camel services.
I think what I need is a conduit that sets the correlation id to the
message id when sending the message and an open selector that accepts
all messages as reply. Alternatively the selector could of course also
be set to correlationid = message id of each request but this would mean
that one consumer per exchange sent would be needed.

Your snippet from the destination brought me another idea though. If I
switch the service to pure CXF I think a pure CXF client as well as a
camel client with the problematic "useMessageIDAsCorrelationID" setting
could work.

Greetings

Christian


Daniel Kulp schrieb:
> Christian,
>
> Aren't you the CXF JMS expert?   ;-)
>
> Seriously, are you talking the JMS conduit or destination?
>
> If talking about the conduit, this MAY be possible with the latest 2.3/trunk 
> code.    There is some logic in there for using the JMS message ID for the 
> selector.   
>
>
> For the destination, on trunk, I see:
>
>  public String determineCorrelationID(javax.jms.Message request) throws 
> JMSException {
>         String correlationID = request.getJMSCorrelationID();
>         if (correlationID == null || "".equals(correlationID)) {
>             correlationID = request.getJMSMessageID();
>         }
>         return correlationID;
>     }
>
> so it looks like that would use the messageId if a correlation ID was not 
> sent.
>
> That all said, I'm just looking at trunk code right now.   I know things are 
> different on 2.2.x.
>
>
> Dan
>
>
> On Sat January 2 2010 9:14:59 am Christian Schneider wrote:
>   
>> Hi all,
>>
>> we are using camel and cxf together for some projects. Camel does the
>> jms protocol and cxf the rest. Unfortunately we used the option
>> "useMessageIDAsCorrelationID" that camel provides.
>> This option makes camel always use the message id as correlation id even
>> when the client sets another correlation id. I think this is kind of a
>> bug (see http://issues.apache.org/activemq/browse/CAMEL-2249).
>>
>> The problem now is that when cxf does jms itself as far as I know
>> currently does not allow to use the message id as correlation id. So it
>> can not communicate with camel. Of course we could turn off the feature
>> in camel but this would mean that we had to do it for all services and
>> clients at one point of time.
>>
>> So my question is: Did I miss something and it is possible to use the
>> message id as correlation id? If it is not possible already then do you
>> think it would make sense to add this option?
>>
>> Greetings
>>
>> Christian
>>
>>     
>
>   



Mime
View raw message