You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Claudio Pompilio <cl...@gmail.com> on 2016/10/31 09:36:19 UTC

Share a partner link endpoint reference among onMessage activities

Hi all,

I have a process that consists of several onMessage and I would like to
implement the following behaviour.
Through the first onMessage the process receives the endpoint reference to
set a specific partner link, and in the others onMessage I need the partner
link endpoint reference as set in the first activity.
I tried to implement it, but I realized that the setting of partner link of
the first onMessage activity is not reflected in the other onMessage
activities.

I appreciate if someone can help me in understanding how to realize this
scenario.

Thanks in advance.

Claudio

-----------------------------------------------------------------
Claudio Pompilio <claudio.pompilio@gmail.com
<http://claudio.xn--pompiliogmail-3kb.com>>

Re: Share a partner link endpoint reference among onMessage activities

Posted by Sathwik B P <sa...@gmail.com>.
Hi Claudio,

Firstly, Pick provides selective processing. Pick will wait for only one
onMessage to arrive among multiple onMessages and will process only the
onMessage that received the request and thus pick activity will complete.
For further reading
http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738519

In Process-1: It would either be one of the two onMessages, which ever
comes first. Assuming, upon reception of setServiceAddress the Pick
activity will complete it will not wait for reception of invokeService.
<bpel:onMessage operation="setServiceAddress"
OR
<bpel:onMessage operation="invokeService"

You should probably be modelling your process with 2 RECEIVE activities and
not PICK for your scenario.


Secondly, do not embed an INVOKE within a RECEIVE or PICK.

For Dynamic Partner link, ODE distribution has a sample which demonstrates
how to pass around Partner EPR.
Download the distrib from here and in the examples directory you can find
DynPartner
http://www.apache.org/dyn/closer.cgi/ode/apache-ode-war-1.3.6.zip

I have answered a query on the below thread related to changing partner
EPR, you might be interested in reading it
https://lists.apache.org/thread.html/e9a1876c61e3542ff15b1e2723e00587172c13e605421e0a0225134a@%3Cuser.ode.apache.org%3E

regards,
sathwik

On Tue, Nov 1, 2016 at 5:29 PM, Claudio Pompilio <claudio.pompilio@gmail.com
> wrote:

> In attachment there are two examples of the scenario I want to realize.
>
>    - In process-1.zip there is a process that consists of two onMessage
>    activities.
>    In the first one, the endpoint reference of the partner link
>    ServicePartnerLink is assigned querying the variable corresponding to the
>    message received, this assignment is not reflected in the second onMessage,
>    in fact ServicePartnerLink doesn't have as endpoint reference the value set
>    in the first onMessage.
>    - In process-2.zip the process has the same structure of the process-1
>    but in the first onMessage the result of the query applied to the variable
>    corresponding to the message received is assigned to the variable
>    serviceEPR, that is used in the second onMessage to set the endpoint
>    reference of the partner link ServicePartnerLink. In this case, the
>    execution of the process result in a fault caused by the fact that the
>    variable serviceEPR isn't properly initialized.
>
> Basically I need to implement a process that expose an operation able to
> set the endpoint references of the services, and in the other operations of
> the process these endpoint references should be used to interact with the
> various services.
>
> Regards,
> Claudio
>
>
> 2016-10-31 13:57 GMT+01:00 Sathwik B P <sa...@gmail.com>:
>
>> Would you be able to share a sample process explaining your scenario.
>>
>> On Oct 31, 2016 3:06 PM, "Claudio Pompilio" <cl...@gmail.com>
>> wrote:
>>
>> > Hi all,
>> >
>> > I have a process that consists of several onMessage and I would like to
>> > implement the following behaviour.
>> > Through the first onMessage the process receives the endpoint reference
>> to
>> > set a specific partner link, and in the others onMessage I need the
>> partner
>> > link endpoint reference as set in the first activity.
>> > I tried to implement it, but I realized that the setting of partner
>> link of
>> > the first onMessage activity is not reflected in the other onMessage
>> > activities.
>> >
>> > I appreciate if someone can help me in understanding how to realize this
>> > scenario.
>> >
>> > Thanks in advance.
>> >
>> > Claudio
>> >
>> > -----------------------------------------------------------------
>> > Claudio Pompilio <claudio.pompilio@gmail.com
>> > <http://claudio.xn--pompiliogmail-3kb.com>>
>> >
>>
>
>
>
> --
> -----------------------------------------------------------------
> Claudio Pompilio <claudio.pompilio@gmail.com
> <http://claudio.xn--pompiliogmail-3kb.com>>
>

Re: Share a partner link endpoint reference among onMessage activities

Posted by Claudio Pompilio <cl...@gmail.com>.
In attachment there are two examples of the scenario I want to realize.

   - In process-1.zip there is a process that consists of two onMessage
   activities.
   In the first one, the endpoint reference of the partner link
   ServicePartnerLink is assigned querying the variable corresponding to the
   message received, this assignment is not reflected in the second onMessage,
   in fact ServicePartnerLink doesn't have as endpoint reference the value set
   in the first onMessage.
   - In process-2.zip the process has the same structure of the process-1
   but in the first onMessage the result of the query applied to the variable
   corresponding to the message received is assigned to the variable
   serviceEPR, that is used in the second onMessage to set the endpoint
   reference of the partner link ServicePartnerLink. In this case, the
   execution of the process result in a fault caused by the fact that the
   variable serviceEPR isn't properly initialized.

Basically I need to implement a process that expose an operation able to
set the endpoint references of the services, and in the other operations of
the process these endpoint references should be used to interact with the
various services.

Regards,
Claudio


2016-10-31 13:57 GMT+01:00 Sathwik B P <sa...@gmail.com>:

> Would you be able to share a sample process explaining your scenario.
>
> On Oct 31, 2016 3:06 PM, "Claudio Pompilio" <cl...@gmail.com>
> wrote:
>
> > Hi all,
> >
> > I have a process that consists of several onMessage and I would like to
> > implement the following behaviour.
> > Through the first onMessage the process receives the endpoint reference
> to
> > set a specific partner link, and in the others onMessage I need the
> partner
> > link endpoint reference as set in the first activity.
> > I tried to implement it, but I realized that the setting of partner link
> of
> > the first onMessage activity is not reflected in the other onMessage
> > activities.
> >
> > I appreciate if someone can help me in understanding how to realize this
> > scenario.
> >
> > Thanks in advance.
> >
> > Claudio
> >
> > -----------------------------------------------------------------
> > Claudio Pompilio <claudio.pompilio@gmail.com
> > <http://claudio.xn--pompiliogmail-3kb.com>>
> >
>



-- 
-----------------------------------------------------------------
Claudio Pompilio <claudio.pompilio@gmail.com
<http://claudio.xn--pompiliogmail-3kb.com>>

Re: Share a partner link endpoint reference among onMessage activities

Posted by Sathwik B P <sa...@gmail.com>.
Would you be able to share a sample process explaining your scenario.

On Oct 31, 2016 3:06 PM, "Claudio Pompilio" <cl...@gmail.com>
wrote:

> Hi all,
>
> I have a process that consists of several onMessage and I would like to
> implement the following behaviour.
> Through the first onMessage the process receives the endpoint reference to
> set a specific partner link, and in the others onMessage I need the partner
> link endpoint reference as set in the first activity.
> I tried to implement it, but I realized that the setting of partner link of
> the first onMessage activity is not reflected in the other onMessage
> activities.
>
> I appreciate if someone can help me in understanding how to realize this
> scenario.
>
> Thanks in advance.
>
> Claudio
>
> -----------------------------------------------------------------
> Claudio Pompilio <claudio.pompilio@gmail.com
> <http://claudio.xn--pompiliogmail-3kb.com>>
>