Saturday, June 21, 2008

Installing the 10.1.3.3 or 10.1.3.3.1 patch

Problem: I came across this good article over forum and thought of sharing it. When installing the 10.1.3.3 or 10.1.3.3.1 patch, some people are getting an error when they go to the BPEL Console. The error is:

[java.lang.NoSuchMethodException]com.collaxa.cube.ejb.impl.FinderBean.tryLookupInstanceByReferenceId(java.lang.String, com.oracle.bpel.client.auth.DomainAuth)Exception Trace:java.lang.NoSuchMethodException: com.collaxa.cube.ejb.impl.FinderBean.tryLookupInstanceByReferenceId(java.lang.String, com.oracle.bpel.client.auth.DomainAuth) at java.lang.Class.getMethod(Class.jav[a:1581)

Solution:

Let me first clear this, I don't know what's causing the problem, except that sometimes the installer misses a step. A certain server-side JAR file was not updated during the installation of the patch. You can copy it from the client-side. Obviously you start these steps after you installed the patch.

1. Delete SOA_HOME\j2ee\home\applications\orabpel\ejb_ob_engine.jar (or move it if you want to keep a copy of it)

2. Copy SOA_HOME\bpel\system\j2ee\ejb\ejb_ob_engine_oc4j.jar to SOA_HOME\j2ee\home\applications\orabpel

3. Rename SOA_HOME\j2ee\home\applications\orabpel\ejb_ob_engine_oc4j.jar to ejb_ob_engine.jar

4. Restart your server

Hope it works fine...

Saturday, June 14, 2008

BPEL: Getting File Name and directory name from File Adapter

Problem:
How to know the file name and the directory name at run time that we selected during configuring File adapter in our BPEL Process?

Solution:
I will give the answer for this in step wise manner.
1) Create an empty BPEL process.
2) Create a Read File Adapters. This will create fileAdapterInboundHeader.wsdl and .wsdl file.
3) Drag receive activity to the swim lane and link it to the read operation and create variable(choose in receive activity). Check the create instance check box.
4) Create a variable of type InboundHeader_msg, say Varaiable_1 ( this message is chosen from the fileAdapterInboundHeader.wsdl).
5) Create two more variables of simple type (String), say Test1 and Test2.
5) Drag the assign activity. In the assign activity create a copy operation you can see the Variable_1 having two elements i.e. FileName and DirectoryName. You can point these two elements to the variable Test1 and Test2 respectively.
6) Now double click on receive activity go to the "Adapter" tab and choose the above Variable_1 as the Input Header Variable.

Similarly you can do it for File Write Adapter. In this case the fileAdapterOutboundHeader.wsdl contains only one element i.e. file name.

And you are done....Now you can use that value for further operations, depending upon your needs.

Have a happy learning.....