Monday, 7 July 2014

Dynamic PartenerLink In BPEL Process

We can dynamically configure the WSDL on the partner link in BPEL process. Follow the below example.

Requirement: Depending upon input value of a BPEL process, will invoke a web service through the same partner link.

Note: For dynamic partner link all the invoking services should have same input message structure.
  • Create a Synchronous BPEL process TestProcess and deploy it with two different revision numbers, so that three WSDL will generate. The output of the BPEL process is as mentioned below.
    • TestProcess  rev1.0 : input String + process1
    • TestProcess  rev2.0 : input String + process1
  • Create another synch BPEL process CallTestProcess to invoke Testprocess depending upon input value i.e. if input value is 
    • process1 : invoke TestProcess  rev1.0
    • process2 : invoke TestProcess  rev2.0
  • Create a reference partnerlink in the CallTestProcess and configure it with the  TestProcess  rev1.0 process.
  • Create a variable of element type of WS-Addressing.xsd EndPointReference element which resides in the MDS shared repository.




































  • In BPEL take a switch activity and put condition as if the input string is process2 then assign the TestProcess  rev2.0 WSDLto the above created variable.









  • Assign the variable to the corresponding partner link in the assign activity copy rule.








  •  Now deploy the service and test. If you give process2 as input it will invoke the TestProcess  rev2.0 otherwise it will invoke TestProcess  rev1.0 process.


Give your comment on this post. Happy Coding :)


No comments:

Post a Comment