ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geert Monsieur <geert.monsi...@gmail.com>
Subject Re: how can I use BPEL correlation mechanism?
Date Thu, 05 Aug 2010 12:09:25 GMT
Thanks for your swift reply!

Well, I just noticed that Apache ODE does not support multiple start
activities...while this is the thing I would like to have...multiple start
activities and the possibility to correlate upcoming messages.

Session difference:

 try { // Call Web Service Operation
            slapen.Geertishetmoeservice service = new
slapen.Geertishetmoeservice();
            slapen.GeertishetmoeservicePortType port =
service.getGeertishetmoeserviceSOAP12PortHttp();
            // TODO initialize WS operation arguments here
            long s = id;
            port.operation1(s);
            port.operation2(s);
        } catch (Exception ex) {
            // TODO handle custom exceptions here
        }

versus

 try { // Call Web Service Operation
            slapen.Geertishetmoeservice service = new
slapen.Geertishetmoeservice();
            slapen.GeertishetmoeservicePortType port =
service.getGeertishetmoeserviceSOAP12PortHttp();
            // TODO initialize WS operation arguments here
            long s = id;
            port.operation1(s);
        } catch (Exception ex) {
            // TODO handle custom exceptions here
        }

 try { // Call Web Service Operation
            slapen.Geertishetmoeservice service = new
slapen.Geertishetmoeservice();
            slapen.GeertishetmoeservicePortType port =
service.getGeertishetmoeserviceSOAP12PortHttp();
            // TODO initialize WS operation arguments here
            long s = id;
            port.operation2(s);
        } catch (Exception ex) {
            // TODO handle custom exceptions here
        }


Currently my process is not sending anything back, but I can detect the
process' behavior using the http://localhost:8080/ode/instances.html and
looking at which processes are active and completed.

cheers
Geert


On Thu, Aug 5, 2010 at 14:03, Tammo van Lessen <tvanlessen@gmail.com> wrote:

> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message