Tuesday, October 09, 2007

Deploy depending BPEL processes

When designing and developing BPEL processes. It could result that process A call proccess B. But process B will also call process A. During development your start with process A, deploy it and later on you create process B. Then you add a partnerlink in process A to call B and vice versa.

You will not notice that these two processes are depending on each other until you create/deploy these processes in a new environment. It will not possible to deploy process A, while it depends on B. In the bpel.xml file process A will be compiled, but it will try to retrieve WSDL specification of B. While B is not there, it fails to compile. The other way arround, is the same. Process B does not compile because A does not exists.

This can be solved. The way I prefer is the following:
  • Copy the WSDL file and the XSD file of process B into your project of process A.
  • Copy bpel.xml into bpel_post.xml
  • Change all the WSDL locations, in bpel.xml, into local files: http://host/orabpel/default/HelloWorldB/HellowWorldB?wsdl
  • Compile process A based on bpel.xml.
  • Deploy process A.
  • Deploy process B.
  • Compile process A based on bpel_post.xml.
  • Deploy process A.
Issue solved.

Post a Comment