-----Original Message-----
From: "Alex Boisvert" <[EMAIL PROTECTED]>
To: [email protected]
Date: Wed, 28 Feb 2007 19:34:47 -0800
Subject: Re: Re: Re: Asynchronous service invocation question

On 2/28/07, Jiang Liu <[EMAIL PROTECTED]> wrote:
>
> As you said: "As soon as you have a callback EPR, you should be able to
> invoke it", if i am correct, i think "you" in your sentence means the
> "external service", am i right? if so, :-), how does it be able to invoke
> BPEL back since there is no implementation at external server side.


>The consumer (external service in this case) needs a service description
>(WSDL) for the callback.  It can be either static (known a priori) or
>obtained dynamically (from the EPR).  In the second case, the customer
>requires a webservice stack that supports the dynamic scenario.
>

Thanks so much for your reply.
As you said, it could be either static or dynamic.
For static, for example, say in my consumer service WSDL, the callback protType 
is defined as "myRole" in partner links definitions, which means consumer is 
not responsable for implementing this "callback" portType in its skeleton, its 
BPEL's responsibility.

BPEL implements it by adding a <receive> to create a thread listening to it; on 
the other hand, consumer only implements "partnerRole" portTypes. Say if i have 
a "call" partnerRole in consumer side, when consumer receives message from 
BPEL, it starts processing the message. After a "long" while, the process is 
done, then what? Because in consumer's skeleton, it only implements "call" not 
"callback".

I have looked at VS.net, it actually create a proxy to handle callback, but the 
message pattern is receive-reply, whereas here is one-way in both 
BPEL(callback) and consumer service(call).

For dynamic, is this mechanism engine-specific?


------------------------------
Jiang Liu
Student Number: 3075163
CS/Yallara Name: ljiang
RMIT, Melbourne

Reply via email to