-----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
