Oracle SOA, AIA BPEL ESB and OSB knowledge base

Sunday, June 15, 2008

BPEL Calling ESB and get error unable to find xsl file in path esb:///esb_projects/...

Hi,

Design ESB project B with transformation, Design ESB project A with/without transformation. Now try to call ESb Project A from console or create new BPEL and call from it.

Some times you get error unable to find xsl transformation file esb:///esb_projects/...

The best way to remove this error is just delete those extra generated file from project after adding routing to other service.

Here you go...

ESB: Unable to load services from Server

Hi,

When we try to deploy ESB on server we get error unable to load services from server and then it shows services creation window. When we try to execute the service it says unable to read wsdl. Its very common mistake we make while creating wsdl. Actually JDeveloper doesn't validate wsdl while compiling or at deployment time that causes it to fail on server.

So immediately validate your wsdl using xmlspy o some tool that validates wsdl properly. If wsdl is valid then you would not get this error.

Getting Fault at CatchAll activity

Hi,

When we put catchall, we always wonder how to get fault. There is xpath function avaialable in 10.1.3.1. called ora:getFaultAsString() that returns fault in case of catchall. Though it doesn't show up in Advanced xpath function window. But it does work.

ora:processXSLT type error

Hi,

Many times we get error while going for assign activity with xpath function ora:processXSLT

This function take two parameter first is xsl file name and second is message based variable. Now if you define variable as element o simple type. You get type error and your bpel instance doesn't show up on BPEL console. So to solve this always make sure that you paas message type variable as second parameter.

How to call bpel B from bpel/ESB A

Hi,

Lot many times, especially in AIA world where we have business enterprise layer(ESB) calling process Enterprise flow layer(BPEL) then process enterprise flow layer calls back business enterprise layer. Looks very simple call but create problem for deployment. Which needs to be deployed first?

Here is the way. First develop your bpel layer with wsdl then create ESB project and copy BPEL wsdl to ESB project content. Add routing rules, define routing rules based on project bpel wsdl. Then deploy ESB project. Come back to BPEL project complete the flow and follow the same steps copy the ESB wsdl to the BPEL project and create new partner link based on project esb wsdl. Now you are ready to go for deployment without any issues.

Using same pattern you can do recursive call also.

You can also imlement using partnerlink properties like wsdlLocation and RuntimeWsdlLocation.

BPEL compilation give error "Unable to parse bpel file ""."

Hi,

Most of the time people get error "Unable to parse bpel." while compiling bpel project. The common mistake we do is we leave some variables those are not valid. I understand compiler should give exact error like which variable but it doesn't. Best way to solve the issue is just check all defined or assigned variable if they are valid.

BPEL while deploying get error Lock or Activation

Hi,

People generally face issue while deploying BPEL "Activation error". This issue arises when AQ or JMS adapter being used in your flow and while trying to deploy on server it validates the availability of resources. But when it can not find it just throws either activation error based on resources.

I would say, Go to BPEL console and expire the state and make it inactive. Then deploy it again. Still it doesn't resolve then try to check the JNDI Adapter resource if that is available.

For Lock Error:
Error while invoking bean "process manager": Timed out waiting for process load
lock.
Failed to obtain load lock for process "test_debmas01-1.0"; timed out after

Increase the lock timeout value through the Java system property
orabpel.process.lock.timeout. This property can be set from the OPMN
start command by specifying -Dorabpel.process.lock.timeout=300 (the
unit is seconds).

If you still receive a lock timeout even with extremely large timeout values, a
writer thread is most likely stuck. To determine what the writer thread is doing,try to obtain several thread dumps while the readers are blocking attempts to
acquire the lock.

FEEDJIT Live Traffic Map

My Blog List