ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Waruna Ranasinghe <waruna...@gmail.com>
Subject Re: Unexpected behaviour working with correlation
Date Tue, 09 Aug 2011 05:14:33 GMT
Hi Jorge,

Will you be able to attach your whole process as a zip file?

Thanks,
Waruna

On 9 August 2011 05:11, George <george.news@gmx.net> wrote:

> Hi again,
>
> More info I forgot to mention.
>
> A way to replicate the problem is:
> 1) Call the "process" function for the BPEL process with customerID="jo"
> 2) Call the "seller" fuction for the BPEL process with customerID="jo"
> 3) Repeat the call to the "seller" fuction for the BPEL process with
> customerID="jo".
>
> After step 3 I cannot use customerID="jo" any longer, as it seems that the
> system got corrupted. The BPEL process point of entrance is not the seller
> but the process function. How is it possible that happens?
>
> On 08/08/2011 18:55, George wrote:
> > Hi all,
> >
> > I have created a simple project to test the correlation in BPEL, but I've
> got an unexpected behaviour (or at least I think it is). Let's show you the
> example while trying to explain the output.
> >
> > The process is quite simple, as it is a receive - assign - invoke - reply
> - Pick - invoke1 or invoke2. The idea is that the receive initialize the
> correlation set or variable property, and then in the pick it is used to
> continue the same process.
> >
> > I call the BPEL WS using the process method and customerID "jo". Then I
> check in ODE management web and the process is active and it has returned
> the expected value from the reply. So I guess it is waiting at the pick
> function. Now I call the BPEL WS with the seller function and the process is
> completed. Till now, no problem and everything as expected.
> >
> > I repeat the process with other different customerIDs and there is no
> problem.
> >
> > However if I repeat a call to BPEL WS using the process method and
> customerID "jo" (the same as the first call), I get the answer from the
> reply but when I check the process state the ODE management web shows the
> project is completed. Why is it not waiting at the pick and therefore
> active? If I call the seller function to trigger the pick it seems that
> nothing happens as far as the ODE log display (I have DEBUG enabled).
> >
> > Any idea? This is the normal behaviour? Could you further explain the
> correlation behaviour? Does it mean that once you have a correlation
> variable set to a value it is keep in the internal database for the whole
> life of the server? How do you can set the correlation set to "off"?
> >
> > TA.
> > Jorge
> >
> >
> > Here is main code for the correlation example:
> >
> > <vprop:property name="customerID" type="xsd:string"/>
> >
> > <vprop:propertyAlias propertyName="tns:customerID"
> >    messageType="tns:BPEL_MultipleRequestMessage"
> >    part="payload">
> >    <vprop:query>tns:input</vprop:query>
> > </vprop:propertyAlias>
> >
> > <vprop:propertyAlias propertyName="tns:customerID"
> >    messageType="tns:sellerRequestMessage"
> >    part="parameters">
> >    <vprop:query>tns:input</vprop:query>
> > </vprop:propertyAlias>
> >
> > <vprop:propertyAlias propertyName="tns:customerID"
> >    messageType="tns:buyerRequestMessage"
> >    part="parameters">
> >    <vprop:query>tns:input</vprop:query>
> > </vprop:propertyAlias>
> >
> >
> > ...........
> >
> >
> > <bpel:receive name="receiveProcess" partnerLink="client"
> >    portType="tns:BPEL_Multiple" operation="process" variable="input"
> >    createInstance="yes">
> >    <bpel:correlations>
> >      <bpel:correlation set="order" initiate="yes" />
> >    </bpel:correlations>
> > </bpel:receive>
> >
> > ..........
> >
> >
> > <bpel:pick name="PickToStopForAWhile">
> >    <!-- Seller -->
> >    <bpel:onMessage partnerLink="client"
> >      portType="tns:BPEL_Multiple"
> >      operation="seller"
> >      variable="inputSeller">
> >      <bpel:correlations>
> >                <bpel:correlation set="order" initiate="no"/>
> >      </bpel:correlations>
> >      <bpel:sequence name="Call1">
> >        <bpel:invoke name="InvokeServiceEmulator"
> partnerLink="ServiceEmulatorPL"
> >          operation="setUser" portType="srvemu:ServiceEmulatorPortType"
> >          inputVariable="ServiceEmulatorPLSetUserRequest">
> >        </bpel:invoke>
> >      </bpel:sequence>
> >    </bpel:onMessage>
> >    <!-- Buyer -->
> >    <bpel:onMessage partnerLink="client"
> >      portType="tns:BPEL_Multiple"
> >      operation="buyer"
> >      variable="inputBuyer">
> >      <bpel:correlations>
> >        <bpel:correlation set="order" initiate="no" />
> >      </bpel:correlations>
> >      <bpel:sequence name="Call2">
> >        <bpel:invoke name="InvokeCalculator" partnerLink="CalculatorPL"
> >          operation="Add" portType="calc:CalculatorPortType"
> inputVariable="CalculatorPLAddRequest"
> >          outputVariable="CalculatorPLAddResponse">
> >        </bpel:invoke>
> >      </bpel:sequence>
> >    </bpel:onMessage>
> > </bpel:pick>
> >
>
>


-- 
-----------------------------------------------------
Regards,
Waruna Ranasinghe

mob: 0724318285
blog: http://warunapw.blogspot.com
twitter: http://twitter.com/warunapww
http://lk.linkedin.com/in/waruna
www.facebook.com/waruna.ranasinghe

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message