When you develop applications that use SOAP based Web Services you very often use an HTTP proxy to capture the request and response that are exchanged between the clients and servers. For this you can use the Oracle HTTP Analyzer that is part of the toolset of Oracle JDeveloper, Axis TCP Monitor, or a packaged version of it that you have with Oracle BPEL Process Manager. BPELs are making extensive usage of SOAP messages, and it could be interesting to debug the different call to the partnerlinks. Oracle BPEL PM, to avoid HTTP calls and make optimized SOAP message when the partnerlink that you are invoking is deployed as a BPEL. So in the default configuration you do not see the different calls. In this article I explain how you can configure the server to be able to do it. For this I will be using:
- Oracle BPEL Process Manager developer install running in an OC4J 10g Stand Alone (10.1.2.0.2)
- obtunnel, that is a package version of Axis TCP Monitor located in <BPEL_HOME>\bin\obtunnel.bat
- LoanFlow demo that you can install in 2 steps:
- In a shell, go to <BPEL_HOME>\samples\demos\LoanDemo
- Run the following command to deploy the LoadFlow BPEL and associated Web Services: > ..\..\..\bin\obant
Starting the Oralce BPEL Tunneling tool:
- Just run the command <BPEL_HOME>\bin\obtunnel.bat You will see the following application:
Changing the Port of OC4J and the TCP MonitorI. Change the HTTP port of OC4J used by BPEL
- Open <BPEL_HOME>\system\appserver\oc4j\j2ee\home\config\http-web-site.xml
- Edit the port attribute of the root element web-site to enter a different value eg: <web-site port="9701"...
- Stop your BPEL Process Manager
- In the TCPMonitor sceen click on the Admin Tab
- Enter 9700 for the "Listen Port #" field (since we want to be sure the partnerlinks are called correctly)
- Enter 9701 (or the value you entered for the HTTP port) for "Target Port #".
- Click Add
- Click on the new tab "Port 9700". If you have an error message like "java.net.BindException: Address Already in use: JVM_Bind" this is simply because your BPEL process manager is not stopped. In this case stop the BPEL server, and start the TCPMonitor by clicking the Start button.
Turning Off the SOAP Shortcut
- In the BPEL console, click on the "Manage BPEL Domain" link (top right)
- You arrive in the configuration tab, look for the optSoapShortcut property and set it to false.
- Click Apply