You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Simone Maletta <si...@alice.it> on 2008/02/28 14:36:11 UTC

Async

Hi guys,
    I've got a q uestion for you all.
I have to write async BPEL processes in an automatic way.
I ask to you if I may use a partner link type with only a role, created on async portType, and use it in a async way.
Better may I execute without any error a code like this?

<wsdl:portType name="port1">
    <wsdl:operation name="port1Op">
        <wsdl:input name="port1Mex" message="port1MexT"/>
    </wsdl:operation>
<wsdl:portType>

<plnk:partnerLinkType name="port1PLT">
    <plnk:role name="plPort1" portType="tns:port1">
<plnk:partnerLinkType>

May I invoke on it an async receive or invoke?

I noticed that this is the syntax of the sync partnerLinkType and that asynk must have two role using two different port.
May do this thing?

Re: Async

Posted by Simone Maletta <si...@alice.it>.
Hi Alex,
    I'm making some experiment about asynchronously in BPEL but I can't hang 
it as I like.
Well, I wrote this:

<plnk:partnerLinkType name="echoInPLT">
    <plnk:role name="read" portType="echoInPT"/>
    <plnk:role name="write" portType="echoInPT"/>
 </plk:partnerLinkType>

<plnk:partnerLinkType name="echoOutPLT">
    <plnk:role name="write" portType="echoOutPT"/>
    <plnk:role name="read" portType="echoOutPT"/>
 </plk:partnerLinkType>

The one representing in-messages, the second out-messages.
So to make communication between two BPLE processes I wrote in the server

<partnerLink name="In"
                    partnerLinkType="test:echoInPLT"
                    myRole="read"
                    partnerRole="write"/>

<partnerLink name="Out"
                    partnerLinkType="test:echoOut"
                    myRole="write
                    partnerRole="read"/>

invoking respectivly an async receive and an aync invoke; while I inverted 
them in the client:
<partnerLink name="echoIn"
                    partnerLinkType="test:echoInPLT"
                    myRole="write"
                    partnerRole="read"/>

<partnerLink name="echoOut"
                    partnerLinkType="test:echoOut"
                    myRole="read"
                    partnerRole="write"/>
inverting operations to.
It seems to be good at design time, in fact they exchange roles in the 
channel, but when I try to develope this in ode-jbi I obtain:

java.lang.IllegalArgument: no service name for myRole read plink echoOut.

If I try to compile my code using bpelc I've got no problem but trying to 
develope I hnag that error.
My question is: why?
I'm using ode1.1 and Servicemix 3.1.2 the last that permits me with no 
problem itegrating ODE because I'm in a hurry with my thesis.
I hope you have got a solution, or someone else.
Thank you,
Regards,
                                Simone


----- Original Message ----- 
From: "Alex Boisvert" <bo...@intalio.com>
To: <us...@ode.apache.org>
Sent: Thursday, February 28, 2008 5:41 PM
Subject: Re: Async


> Hi Simone,
>
> Yes, you can use a partnerLink with a single role for asynchronous
> exchanges.    The main impact, compared to a partnerLink with two roles, 
> is
> that you can't use implicit correlation (e.g., WS-Addressing).   You have 
> to
> use explicit correlation (i.e., BPEL correlationSet)
>
> alex
>
>
> On 2/28/08, Simone Maletta <si...@alice.it> wrote:
>>
>> Hi guys,
>>     I've got a q uestion for you all.
>> I have to write async BPEL processes in an automatic way.
>> I ask to you if I may use a partner link type with only a role, created 
>> on
>> async portType, and use it in a async way.
>> Better may I execute without any error a code like this?
>>
>> <wsdl:portType name="port1">
>>     <wsdl:operation name="port1Op">
>>         <wsdl:input name="port1Mex" message="port1MexT"/>
>>     </wsdl:operation>
>> <wsdl:portType>
>>
>> <plnk:partnerLinkType name="port1PLT">
>>     <plnk:role name="plPort1" portType="tns:port1">
>> <plnk:partnerLinkType>
>>
>> May I invoke on it an async receive or invoke?
>>
>> I noticed that this is the syntax of the sync partnerLinkType and that
>> asynk must have two role using two different port.
>> May do this thing?
>>
> 


Re: Async

Posted by Alex Boisvert <bo...@intalio.com>.
Hi Simone,

Yes, you can use a partnerLink with a single role for asynchronous
exchanges.    The main impact, compared to a partnerLink with two roles, is
that you can't use implicit correlation (e.g., WS-Addressing).   You have to
use explicit correlation (i.e., BPEL correlationSet)

alex


On 2/28/08, Simone Maletta <si...@alice.it> wrote:
>
> Hi guys,
>     I've got a q uestion for you all.
> I have to write async BPEL processes in an automatic way.
> I ask to you if I may use a partner link type with only a role, created on
> async portType, and use it in a async way.
> Better may I execute without any error a code like this?
>
> <wsdl:portType name="port1">
>     <wsdl:operation name="port1Op">
>         <wsdl:input name="port1Mex" message="port1MexT"/>
>     </wsdl:operation>
> <wsdl:portType>
>
> <plnk:partnerLinkType name="port1PLT">
>     <plnk:role name="plPort1" portType="tns:port1">
> <plnk:partnerLinkType>
>
> May I invoke on it an async receive or invoke?
>
> I noticed that this is the syntax of the sync partnerLinkType and that
> asynk must have two role using two different port.
> May do this thing?
>