ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George <george.n...@gmx.net>
Subject Re: Unexpected behaviour working with correlation
Date Thu, 11 Aug 2011 17:17:15 GMT
Hi,

Following your advise I've just created a new issue in jira
https://issues.apache.org/jira/browse/ODE-929

It's the first time I've done that, and hope I have explained well 
enough the problem. Sorry if it is not an issue ;)

See you
Jorge

On 10/08/2011 14:53, George wrote:
> Ok... I will try to do it asap.
>
> I'm continuing testing the different stuff in BPEL so problably more
> issues are to come ;) till I get knowledge of the programming methology.
>
> TA
> Jorge
>
> On 10/08/2011 13:37, Waruna Ranasinghe wrote:
>> 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<george.news@gmx.net> 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<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="**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>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
>


Mime
View raw message