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