Hi, This looks like a bug to me. Please create a jira for this and attach the process to the jira as well.
Generally, if a message comes in to the ODE without a instance to be routed, are stored so that the message will be eventually routed to the instance. There may be a bug in this functionality. Thanks, Waruna On 9 August 2011 19:42, George <[email protected]> wrote: > There it goes. > > TA > > > On 09/08/2011 7:14, Waruna Ranasinghe wrote: > >> Hi Jorge, >> >> Will you be able to attach your whole process as a zip file? >> >> Thanks, >> Waruna >> >> On 9 August 2011 05:11, George<[email protected]> 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="**ServiceEmulatorPLSetUserReques**t"> >>>> </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
