Wednesday, February 24, 2010

Invoke and PArtnerlink

Create a new application and create a new bpel process .You can follow the previous steps to create the same.



Say ok and a new process will be created.

Now go to component pallete and choose services.Move to the down and you will find a service called as partnerlink.Drag and drop that service in the service space of the bpel designiner page as shown below.



Once you will drag and drop the partner link a window will pop up automatically like this.



Now you provide the URL for any wsdl file .AS soon as you will provide a valid url in the wsdl file location the other three tabs will get activated.

So after specifying the wsdl it will look like this




say apply and say ok.

Now choose process activities and drag and drop an invoke activity in between the receiveInput and callbackClientso it should look like this.





NOw select the invoke and keep pressing the mouse drop it to the partnerlink so that a connection get created between the invoke and a partnerlink.Then automatically create the input vairable and choose the default name whatever comes.So it should appear like this.



NOw again go to bpel designer and from the component pallete drag and drop a assign activity between the receiveInput and invoke activity.



Noe double click on assign activity and create a copy operation and assign the input variable to the invoke variable as shown.Please match the variable are of same type otherwise it will give a mismatch error while compiling the process.




Now save the project and deploy the process.

So what this process does.This process is taking a input variable and we are mappping that input variable to the invoke input variable.Invoke input variable in turn in assigning this varialbe to the input variable of the wsdl file that we have dfefined.So the wsdl will process that request and generate output.Since this is a asynchronous process we will not get a response back to our bpel process.

So you will find in the bpel console two instances are getting created one for the invoke process and other for the wsdl file that we have defined in the partnerlink.
So we can get the execution of the process by looking at the wsdl instances that we have provided in the partnerlink.If it would have been a synchronous process then we wud have got the results in our bpel process itself.

No comments: