ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tammo van Lessen <tvanles...@gmail.com>
Subject Re: how can I use BPEL correlation mechanism?
Date Thu, 05 Aug 2010 12:03:28 GMT
Hi Geert,

first, what do you mean by session? And is your process sending
something back to the client? Otherwise the client cannot be aware of a
potential implicit correlation token. These guys are proprietary btw, so
a client would need to explicitly extract them and include them in
follow up messages.

While looking at your code, I think at least Receive2 should have set
createInstance to no. Maybe that solves already your issue.

HTH,
  Tammo

On 05.08.2010 13:47, Geert Monsieur wrote:
> Dear
> 
> I'm deploying a simple BPEL process consisting of one flow which holds
> two receive activities (createInstance=yes). I defined a property to
> correlate message in the BPEL's WSDL file:
> 
> <vprop:property name="testprop" type="xsd:long"/>
>      <vprop:propertyAlias messageType="tns:operation1message" part="s"
> propertyName="tns:testprop"/>  
>      <vprop:propertyAlias messageType="tns:operation2message" part="s"
> propertyName="tns:testprop"/>
>     
> In the BPEL process I've added a correlation set.
> 
> <bpel:correlationSets>
>         <bpel:correlationSet name="CorrelationSet"
> properties="ns:testprop"></bpel:correlationSet>
> </bpel:correlationSets>
> 
> This correlation set is used together with the two receive activities.
> initiate=join because I want the process instance to be continued
> (=ended) when two correlated messages are received by the BPEL engine.
> 
> <bpel:receive name="Receive1" partnerLink="client"
> operation="operation1" portType="tns:geertishetmoe" variable="Variable1"
> createInstance="yes" xmlns:tns="http://slapen">
>                 <bpel:correlations>
>                     <bpel:correlation set="CorrelationSet"
> initiate="join"></bpel:correlation>
>                 </bpel:correlations>
> </bpel:receive>
>             
> <bpel:receive name="Receive2" partnerLink="client"
> operation="operation2" portType="tns:geertishetmoe" variable="Variable2"
> createInstance="yes" xmlns:tns="http://slapen">
>                 <bpel:correlations>
>                     <bpel:correlation set="CorrelationSet"
> initiate="join"></bpel:correlation>
>                 </bpel:correlations>
> </bpel:receive>
> 
> When using operation 1 and operation 2 in one unique session,
> correlation is working properly (probably because of the fact that ODE's
> implicit correlation mechanism relies on the session id?). However, when
> using operation 1 and operation 2 in two different sessions, ODE never
> manages to correlate two messages containing the same id.
> 
> Does this mean I'm not able to use the BPEL correlation mechanism? Or
> what else can be wrong?
> 
> Thanks in advance!
> 
> In attachment you can find both my BPEL and corresponding WSDL file.
> 
> Cheers
> 
> Geert Monsieur
> 
> 

-- 
Tammo van Lessen - http://www.taval.de

Mime
View raw message