Tuesday, April 15, 2008

Exception framework in 10.1.3.3.0

Some bullet points about the framework:
----------------------------------------
1) It works only for the faults raised thru invoke activity.
It doesn't seem to be capturing faults thrown using throw activity.
2) It captures any type fault: Business or Runtime fault.
3) Two things must be specified:
1) Fault Policy file(in /domains/default/config/fault-policies directory.)
Specifies actions for faults.
Lists the actions to be used for the faults.
2) Fault Bindings (Either in bpel.xml file OR in /domains/default/config/fault-bindings.xml file)
-> Remember "default" in the path refers to a domain name. Which could be replace by any other existing domain name.
Binds the faults to Partner Link, Port Type and/or Process.
Can be specified at process level or domain level.

Let's see what happens when an invoke activity receives a fault:
-----------------------------------------------------------------

1) Framework first captures the fault.
2) It then checks the bpel.xml file, if any bindings are specified. If not, then domain level bindings are checked. This is to determine which policy file is to be used.
3) Invoke activity has PartnerLink name, Port Type name.
These two are used as a criteria to determine fault policy file.

The order of bindings being probed are as follows:

1) Partner link in bpel.xml file
2) Port type in bpel.xml file
3) Process in bpel.xml file
4) Partner link in fault-bindings.xml file
5) Port type in fault-bindings.xml file
6) Process in fault-bindings.xml file

If nothing matches in these bindings, the fault is handled by the faultHandler.

If a match is found in let's say step-1, remaining steps are not looked at.
So if partner link binding in bpel.xml file is found, the corresponding policy is used and fault policy resolution process stops there itself. s

Remember that, bindings in fault-bindings.xml are at domain level. So they apply to all the processes deployed in the domain.

Once fault policy file is determined, the framework tries to match the fault which occurred in invoke activity to the list of fault-conditions in policy file sequentially. This is similar to deciding exception handler for an exception in any programming language.

Once condition matches, the corresponding action is executed for recovery.

There could be the following actions:
----------------------------------------
1) Retry
2) Replay
3) Rethrow
4) Terminate
5) Human Interaction
6) JavaAction

Wednesday, April 2, 2008

10.1.3.3 installation error.

Problem:
=========
I faced another problem while patching my 10.1.3.1.0 AS instance with 10.1.3.3.0 on Microsoft Windows XP.I've downloaded a patch# 6148874 from metalink for the same.Everything went smooth until BPEL Configuration Assistant fails for some syntactic problem. And because of this problem, I was not able to open the BPEL Console. Everything else seemed to be working fine.
In the Details window in OUI, I got the following error:
---------------------------------------------------------
Output generated from configuration assistant "BPEL Configuration Assistant":Files\Java\j2re1.4.2_13\lib\ext\QTJava.zip";C:\Program Files\Rational\ClearQuest\cqjni.jar;C:\Program Files\Java\jre1.6.0_03\lib\ext\QTJava.zip;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\dom4j-1.6.1.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\jaxen-1.1-beta-6.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\jaxme-api-0.3.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\pull-parser-2.1.10.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\tools\xercesImpl-2.6.2.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\tools\jaxme-0.3.jar"=="" was unexpected at this time.

Configuration assistant "BPEL Configuration Assistant" failed ================================================================================================================Output generated from configuration assistant "BPEL Configuration Assistant" (attempt 2) :
Files\Java\j2re1.4.2_13\lib\ext\QTJava.zip";C:\Program Files\Rational\ClearQuest\cqjni.jar;C:\Program Files\Java\jre1.6.0_03\lib\ext\QTJava.zip;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\dom4j-1.6.1.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\jaxen-1.1-beta-6.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\jaxme-api-0.3.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\pull-parser-2.1.10.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\tools\xercesImpl-2.6.2.jar;C:\MAIN\WORK\MyDocs\DOCS\XML\DOM_API\dom4j-1.6.1\lib\tools\jaxme-0.3.jar"=="" was unexpected at this time.
Configuration assistant "BPEL Configuration Assistant" failed
I tried de-installing 10.1.3.1.0 and reinstalling it and patching it again. But no luck.Tried to run BPEL Configuration Assistant using the following commands:1) C:\product\10.1.3.1\OracleAS_1\onfig\eploy_bpel.bat oc4jadmin2) C:\product\10.1.3.1\OracleAS_1\ant\bin\ant -f C:\product\10.1.3.1\OracleAS_1\bpel\system\services\install\ant-tasks\redeploy.xml -Dias_admin.password=oc4jadmin
But got the same error.
Cause:
=======
One of the classpath entries had space " " in between as in c:\Program Files\qt and was eclosed by quotes.

Solution:
=========
Remove those entries from the path which contain white spaces. It should work fine.

Thursday, March 27, 2008

Version Mismatch Fault!!

I tried to invoke a java class based web-service in a bpel process using invoke activity and got the following fault:
Version Mismatch.
After digging into it for a while, i did not get any clue. Finally, i resorted to google and found the following:
My web-service used couple of bindings: SOAP and SOAP1.2 And accordingly it had two ports. Now BPEL PM somehow finds this as a conflict, do not really understand why.
As a workaround, I removed one of the ports and binginds and to my surprize, it started working well.
Remove either of the bindings and ports and it will work.
I've tested this on SOA Suite version 10.1.3.1.0. And this holds true for 10.1.3.3 also.

Tuesday, March 18, 2008

JSP Error Removed..

The error i faced last time, namely, jsp forward reference error finally vanished...
I am not sure the exact cause which brought about the error, however, when i created the human task activity all over from scratch with attention on linking between human task and .task file and on parameters and BPEL variables.
So i assumed it had something to do with the linkage...

Thursday, March 13, 2008

JSP Error..

Yesterday i faced one more error.. while compiling a BPEL Process that contained a Human Task activity and its custom forms.

"Error(11487,3): illegal forward reference"

I tried creating both the Autogenerated Forms as well as Custom Forms with Header, Body and Footer jsps. Both the times I got the same error:

So far got no clue what does it means in the context.

Tuesday, March 11, 2008

BPEL TaskDetails problem

I faced a problem regarding tasklist application deployment..
My bpel had a human task acitivity with a custom JSP for viewing task details.
I deployed the process using BPELConsole using Deploy New Process link.
Process worked fine. However, when I clicked a task name in tasklist application, it threw an error stating JSP was not found on the server.
I tried deploying the same process using JDev with the BPEL Server connection.
And to my surprize, the link started working.

Seems like, deployment using BPELConsole doesn't deply your custom JSP Pages for the worklist application. Where jdev also deploys the displayForms along with the BPEL Process.