Some 'more, in-depth' information on Oracle BPEL PM, ESB and other SOA, day2day things

Tuesday, March 07, 2006

Support for mulitple WSDL operations within one BPEL process

Today, as I was writing on a technote, I found a nice sample again, built some time ago for a danish customer. I thought to share it with you.

It's about having a BPEL process offering multiple operations such as createCustomer, deleteCustomer and so on ..

Usually you get a wsdl from a service provider, that already contains bindings and services (of course - someone already implemented it :-D)

When you try to import it now as client PLNK - the bpel designer (and compiler) will complain? Why? Because you are going to be the service provider and not the service consumer.

In a nutshell, delete the binding(s) and service(s) section in the wsdl, and try again, it will work.

Ok, back to the beginning ..

Start with a new BPEL project (type empty process). Add a new partnerlink, and name it client - base it on your new wsdl (that is by now binding/service - less). Step one is done, the new face of your process contains all the nice operations defined in the wsdl.

Afterwards create an initial pick activity (and flag it to create a new instance). From the pick, delete the onAlarm branch (as it is initiating!), and for each operation add a new branch, to do whatever the process might require. Choose in each branch an operation from the partnerlink and add the callbacks accordingly (invoke/reply - as defined)

Voila, you multi operation BPEL process is ready to rock..

Having questions? send your feedback on multiple operations in one bpel process here

3 Comments:

Anonymous Anonymous said...

Thanks for sharing this Clemens, very useful. You'd be hard pressed to see this from the documentation

11:46 AM

 
Anonymous Anonymous said...

You said: "When you try to import it now as client PLNK - the bpel designer (and compiler) will complain? Why? Because you are going to be the service provider and not the service consumer." can you elaborate on what this means? Thanks..

2:07 AM

 
Blogger Clemens Utschig - Utschig said...

This is easy to explain, because the wsdl you are using as interface does NOT contain the mandatory partnerlinks you need to use in the context of BPEL .. these roles will be generated for you when you press ok on the message that the designer gives you "the wsdl does not contain any partnerlink info"..

best clemens

2:11 AM

 

Post a Comment

<< Home