By jason on Mar 19, 2009
Following the previous article on Contraints when using BPEL Correlation with OpenESB, I thought I should provide a little example of how communication with asynch services and correlation can be done from a bpel process.
This is a simple example I whipped up for a customer workshop.
It starts with some attached predefined XSDs and WSDLs to represent the interfaces:
- in-out (req-resp) process interface
- in-only asynch service interface
- in-only callback interface
- The process implements the process and callback interfaces.
- The EJB webservice implements the asynch interface and acts as a client to the callback interface.
The development is quite simple. The only thing that needs special attention is checking the endpoints used for the EJB WS and the callback interface.
- When the EJB WS is created using "Webservice from WSDL" the tooling modifies the WSDL supplied endpoint URL. So the wsdl used in the bpel project needs to be updated accordingly.
- The callback WSDL generated by the Open ESB tooling includes an Application Variable to represent the URL port to use. The regular EJB JAX-WS tooling doesn´t understand Application Variables, so the port needs to be set in the WSDL before the client code is generated.