You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "Lukasz L." <Lu...@sabre.com> on 2008/12/04 11:39:19 UTC

CXF Provider dynamic operations invocation

Guys, 
currently (AFAIK) CXF Provider requires targetOperation to be specified on
incoming message exchange in case when there are more than one operation on
target service. See
http://cwiki.apache.org/SM/discussion-forums.html#nabble-td19142533 for the
problem.
(case with one operation was fixed
https://issues.apache.org/activemq/browse/SM-1225), 

Don't you think that CXF Provider should determine the operation based on
payload? If the WSLD uses document/literal style this is how it should work.

How would you implement dynamic invocation (CXF Consumer -> CXF Provider)
when you don't know in advance which operation client wants to invoke?
Having endpoint (on consumer) per operation is not a nice solution because
it in fact splits one service into many. 
On the other hand implementing mapping (root element -> operation) somewhere
on ESB is redundant because it is already done in WSDL (and it's very ugly
solution).

Any thoughts? Was that already discussed somewhere and I missed that?
-- 
View this message in context: http://www.nabble.com/CXF-Provider-dynamic-operations-invocation-tp20830984p20830984.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF Provider dynamic operations invocation

Posted by Freeman Fang <fr...@gmail.com>.
Correct.

Freeman

Lukasz L. wrote:
> Thanks, that's my misunderstanding.
> So you mean that CXF consumer will set the proper targetOperation on the
> MessageExchange and all we need to do is to ensure that this property will
> be propagated through other components to CXF Provider, am I correct?
>
>
> Freeman Fang wrote:
>   
>> Hi,
>>
>> I think there is some misunderstanding.
>> If you use cxf consumer, you needn't specify the operation.
>> Cxf consumer will always parse the incoming soap message and find 
>> correct operation according to the wsdl model.
>> The discussion thread you mentioned here is that they use other endpoint 
>> but not the cxf bc consumer to send jbi message to cxf provider, in this 
>> case, you need specify the operation name, since from the jbi message, 
>> we can't exactly extract the operationName.
>>
>> Freeman
>>
>>
>>     
>
>   


Re: CXF Provider dynamic operations invocation

Posted by "Lukasz L." <Lu...@sabre.com>.
Thanks, that's my misunderstanding.
So you mean that CXF consumer will set the proper targetOperation on the
MessageExchange and all we need to do is to ensure that this property will
be propagated through other components to CXF Provider, am I correct?


Freeman Fang wrote:
> 
> Hi,
> 
> I think there is some misunderstanding.
> If you use cxf consumer, you needn't specify the operation.
> Cxf consumer will always parse the incoming soap message and find 
> correct operation according to the wsdl model.
> The discussion thread you mentioned here is that they use other endpoint 
> but not the cxf bc consumer to send jbi message to cxf provider, in this 
> case, you need specify the operation name, since from the jbi message, 
> we can't exactly extract the operationName.
> 
> Freeman
> 
> 

-- 
View this message in context: http://www.nabble.com/CXF-Provider-dynamic-operations-invocation-tp20830984p20831344.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF Provider dynamic operations invocation

Posted by Freeman Fang <fr...@gmail.com>.
Hi,

I think there is some misunderstanding.
If you use cxf consumer, you needn't specify the operation.
Cxf consumer will always parse the incoming soap message and find 
correct operation according to the wsdl model.
The discussion thread you mentioned here is that they use other endpoint 
but not the cxf bc consumer to send jbi message to cxf provider, in this 
case, you need specify the operation name, since from the jbi message, 
we can't exactly extract the operationName.

Freeman

Lukasz L. wrote:
> Guys, 
> currently (AFAIK) CXF Provider requires targetOperation to be specified on
> incoming message exchange in case when there are more than one operation on
> target service. See
> http://cwiki.apache.org/SM/discussion-forums.html#nabble-td19142533 for the
> problem.
> (case with one operation was fixed
> https://issues.apache.org/activemq/browse/SM-1225), 
>
> Don't you think that CXF Provider should determine the operation based on
> payload? If the WSLD uses document/literal style this is how it should work.
>
> How would you implement dynamic invocation (CXF Consumer -> CXF Provider)
> when you don't know in advance which operation client wants to invoke?
> Having endpoint (on consumer) per operation is not a nice solution because
> it in fact splits one service into many. 
> On the other hand implementing mapping (root element -> operation) somewhere
> on ESB is redundant because it is already done in WSDL (and it's very ugly
> solution).
>
> Any thoughts? Was that already discussed somewhere and I missed that?
>