Thursday, January 31, 2008

BPEL:Invoking Partner Web Service through a Proxy Server

For invoking a partner Web Service through a proxy server, we need to configure our BPEL Process Manager. Following are the assumptions made before configuring it:-
1) Assume that BPEL PM is installed on host -> host123.company.com
2) Assume that one of your deployed BPEL processes must invoke a synchronous Web service hosted outside the fire wall at ->http://partner123.services.com
3) All the outbound HTTP traffic must be routed thro' an HTTP proxy server located at -> proxy123.company.com on port 8090.

Now perform the following steps to configure ant task and BPEL PM to invoke the partner Web service thro' an HTTP proxy server:

1) Open obsetenv.bat(for Windows)/obsetenv.sh(For Linux) file located under:
SOA_Oracle_Home\bpel\bin -> For Windows
SOA_Oracle_Home/bpel/bin -> For Linux

2) Modify the line set OB_JAVA_PROPERTIES as under:

set OB_JAVA_PROPERTIES="-Dhttp.proxySet=true"
"-Dhttp.proxyHost=proxy123.company.com"
"-Dhttp.proxyPort=8090" "-Dhttp.nonProxyHosts=host123.company.com"

We are setting the http.proxySet =true, to activate the client proxy and redirect all the outbound trafiic thro' the http.proxyHost and http.proxyPort.
By setting the http.nonProxyHosts to the server that hosts Oracle BPEL Server,
you prevent the local request from going through the proxy.