Tuesday, July 17, 2007

Multiple BPEL Processes using a single WSDL

When working with the Sun BPEL SE in Netbeans, sometimes you might have the requirement of defining a WSDL Port Type with two operations and then reference that WSDL in two different BPEL Processes.
It turns out this currently is not supported and if you try to attempt it you will receive the following exception from the BPEL SE:

java.lang.RuntimeException: Could not find a business process providing service for the endpoint specified in the message exchange.

Here is the bug related to this issue and the conversation over the mailing list discussing this issue with the OpenESB dev mailing list.

The solution that worked for us was using the BPEL Pick activity the single BPEL Process to support the second operation. Alternatively we could have created a second WSDL, which doesn't scale very well. Also as Murali points out here, you could also make the targetNamespace the same in both BPEL Processes.