Showing posts with label bpel. Show all posts
Showing posts with label bpel. Show all posts

Wednesday, January 21, 2015

Oracle BPM Worklist details display error

I’ve had the issue several times on Oracle BPEL Worklist app where the details of the task is not displayed with the error ‘Server not found’.image
The the reason for this seems to be that the page is trying to resolve a internal load balancer address, and not the external facing client side load balancer that the browser can access. To fix this, do the following steps:
Go to the BPEL process of the specific composite in Enterprise Manager. Then click on the Human task under the Component Metrics tab.image
You’ll then see the internal address and port that cannot be resolved from your web browser.image
Replace these with the external address as well as port. (Most probably the one used when accessing the Worklist app url) Click “Apply”image
 image
Your Worklist app should now load.
image
Credit: Thanks to my colleague Ben Taljaard for helping to solve this issue.

Tuesday, December 23, 2014

Direct Binding Adapter between Oracle Fusion Middleware 11g and 12c

From Oracle documentation we know the following:
“A SOA composite can invoke any Service Bus SB WSDL-based proxy service. To invoke an SB proxy service, the SOA service component must use a direct binding reference of Target Type "Oracle Service Bus."

However can this we done between FMW11g and FMW12c? The answer is in fact YES, and this can help in a strategy to run 11g and 12c in parallel without compromising performance.
clip_image002[4]
Steps on how to achieve this:
Open your 11g Service Bus Console.
clip_image004[4]
Go to your http OSB proxy service, and edit the Transport Configuration.
clip_image006[4]
Switch the protocol from http to sb.
 clip_image008[4]
Click Last. Click Save. Click Activate. Click Submit.
 clip_image010[4]
Export the WSDL of the proxy to be used later in JDeveloper. (It will export as a .jar file that you can extract)
clip_image012[4]
You have now changed the protocol of the proxy from HTTP to SB. Thus this proxy cannot be invoked over the HTTP protocol anymore. Alternatively you can create a clone of the proxy service and have a HTTP and SB version available.
Now launch JDeveloper for 12.
clip_image014[4]
Create a new BPEL process in the same way as normally done.
clip_image016[4]
Now drag in the Direct Binding from the BPEL Services tab under the Components tab.
clip_image018[4]
Supply a name and change the Reference Target to Oracle Service Bus. Then browse for the WSDL file you downloaded earlier. Note that the Provider URL is t3 protocol.
Click OK.
clip_image020[4]
Create an Invoke step, and assign the input and output of the call like you would normally do.
 clip_image022[4]
Deploy the SCA to your 12c environment and log into Enterprise Manager 12c.
 clip_image024[4]
You can now test the Service.
 clip_image026[4]
You can also launch the flow trace to inspect the flow. Note the Direct Binding icon on the flow.
 clip_image028[4]
You have now successfully connected OSB11g and BPEL12c without the overhead of HTTP calls!

Tuesday, December 1, 2009

Oracle BPEL - Invoking a Partner Web Service through a Proxy Server

When trying to call a web service through a proxy server (or trying to avoid using the proxy server for certain hosts) the BPEL Process Manager Administrator’s Guide have steps to edit a file, but I found doing this alone don’t work. The guide basically states to modify the following file: $ORACLE_HOME/bpel/bin/obsetenv.sh

And then modify the line set OB_JAVA_PROPERTIES= as follows:

set OB_JAVA_PROPERTIES="-Dhttp.proxySet=true"
"-Dhttp.proxyHost=myproxy004.company.com"
"-Dhttp.proxyPort=8090" "-Dhttp.nonProxyHosts=internal123.company.com"

After rebooting the BPEL server, it still didn’t work. What I had to do was also modify the following file: ORACLE_HOME/opmn/conf/opmn.xml

Look for the piece of XML that looks like this:

<process-type id="oc4j_soadev" module-id="OC4J" status="enabled">
<module-data>
<category id="start-parameters">        
<data id="java-options" value="
-server
-XX:MaxPermSize=128M –ms512M
-mx1024M -XX:AppendRatio=3
-
Djava.security.policy=$ORACLE_HOME/j2ee/oc4j_soadev/config/java2.policy
-Djava.awt.headless=true
-Dhttp.webdir.enable=false-Doraesb.home=/u01/app/oracle/product/10.1.3/soad/integration/esb -Dhttp.proxySet=false -Doc4j.userThreads=true -Doracle.mdb.fastUndeploy=60
-Dorabpel.home=/u01/app/oracle/product/10.1.3/soad/bpel
-Xbootclasspath^/p:/u01/app/oracle/product
/10.1.3/soad/bpel/lib/orabpel-boot.jar -Dhttp.proxySet=false"
/>             
</category>

Then modify the Dhttp.proxySet=false and change it to Dhttp.proxySet=true, add -Dhttp.proxyHost for your proxy server,  Dhttp.proxyPort for your proxy server port and Dhttp.nonProxyHosts for hosts that should not go through the proxy. The end result should look something like this:

<process-type id="oc4j_soadev" module-id="OC4J" status="enabled">
<module-data>
<
category id="start-parameters"> <data id="java-options" value="-server –mx1024M
-ms512M -XX:MaxPermSize=128M
-XX:AppendRatio=3-Djava.security.policy=$ORACLE_HOME/j2ee/oc4j_soadev
/config/java2.policy
-Djava.awt.headless=true
-Dhttp.webdir.enable=false-Doraesb.home=/u01/app/oracle/product/10.1.3/soad
/integration/esb
-Dhttp.proxySet=false -Doc4j.userThreads=true
-Doracle.mdb.fastUndeploy=60
-Doc4j.formauth.redirect=true
-Djava.net.preferIPv4Stack=true
-Dorabpel.home=/u01/app/oracle/product/10.1.3/
soad/bpel-Xbootclasspath^/p:/u01/app/oracle/product
/10.1.3/soad/bpel/lib/orabpel-boot.jar
-DHTTPClient.disableKeepAlives=true
-Dhttp.proxySet=true
-Dhttp.proxyHost=10.10.10.1
-Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=10.10.10.2"
/>    
</category>

Now you can call webservices through a proxy server. ;-)

Sunday, March 15, 2009

Using Oracle BPEL on Mac OS X ­ Leopard

There is some irritating bugs in Jdeveloper 10134 and the use of BPEL on Mac OS X - Leopard. Here is what they are, and how I fixed / or got workarounds for them:

The first and biggest problem is not being able to drag a Service from the Component Palette into the BPEL Process diagram. You also can't drag in functions in your transformations. This is quite frustrating since it is a known bug on metalink, but not yet fixed. (Bug Number 6924432) Well there is a easy workaround for the BPEL process diagram. You can right­click on any of the Process Activities and go to Insert After ­> Activities ­> Activity.

But what if you created a Empty BPEL process? Whell then you'll have to go to the source and add a empty node (<empty/>) to get you started.

Its just as easy to add a Partnerlink. Right­-click in the Services area of the screen, and select Create new Partnerlink.

On the transformation side of things it's not quite that easy to work around. The best solution I could come up with is to add the functions directly to the source code in the source tab.

You can then switch back to the Design view and see your code.

This might not be the best solution, but will centainly work and enable you to create BPEL processes without VMware or Parallels. And will definitely improve your xsl knowledge.. ;­-) You can also right­click­ ->Help on a function to get information on how to use it.
The second problem I experienced was that my jdeveloper kept crashing when I wanted to edit a partnerlink. I tried changing the JDK versions it used with no luck. What I found was, as soon as I open jdeveloper I "create a partnerlink" but click cancel right afterwards. Why this worked for me, I don't know, but it certainly solved my problem.
The third and last issue I had was that when launching jdeveloper it doesn't close the terminal
window. What I did to fix that was to add the JDeveloper directory to my PATH environment variable and then launch jdeveloper with the following command:

jdev &exit

This will exit the terminal window after opening JDeveloper. To add the JDeveloper ditectory to your path open your .bash_profile file and add the following line:

export PATH=$PATH:"/Applications/jdevstudio10134/jdev/bin"


Hope this post will help you use BPEL on Mac OS X Leopard!

Tuesday, November 18, 2008
















Calling a WS-Security secured web service from Oracle BPEL

Oracle provides a nice guide to show you how to secure a web service using the Oracle Web Service Manager here. So how do you call this WS-Security enabled web service? Easy, just follow the following steps:

1. Import the secured wsdl as a partner link.

2. Go to the properties tab, and add the following properties:

  • wsseHeaders - Property Value : credentials
  • wsseUsername - Property Value : your_webservice_username
  • wssePassword - Property Value : your_webservice_password

3. Click ok.
4. Thats it, you can now call the partner link with an invoke and map all the fields you require.

5. The BPEL process can now be deployed.

Update:
If the source service uses http for authentication method, use in your properties tab:

  • basicHeaders - Property Value : credentials
  • basicUsername - Property Value : your_webservice_username
  • basicPassword - Property Value : your_webservice_password