Wednesday, August 27, 2008

Error after upgrading to 10.1.3.3.0

Got error java.sql.SQLException: [POL-5205] column BLOCK not found.This happened immidiately after upgrading 10.1.3.1.0 to 10.1.3.3.0.Checked log to investigate and found the following:

The process domain was unable to insert the current log entries for the instance "2" to the audit trail table.
The exception reported is: [POL-5205] column BLOCK not foundPlease check that the machine hosting the datasource is physically connected to the network. Otherwise, check that the datasource connection parameters (user/password) is currently valid.sql statement: INSERT INTO audit_trail( cikey, domain_ref, count_id, block, block_csize, block_usize, log ) VALUES( ?, ?, ?, ?, ?, ?, ? )] -> [java.sql.SQLException: [POL-5205] column BLOCK not found]

Found that:
The table definition is different for Oracle DB and Olite DB.BPEL PM uses the definition of audit_trail table for Oracle DB even if it connects to Olite. Hence, the problem.
Drop the audit_trail table first, and create anew from the Script file for Oracle DB.Make sure you have necessary backup before proceeding.

drop table audit_trail;
drop index at_fk;
create table audit_trail( cikey integer, domain_ref smallint, count_id integer, block integer, block_csize integer, block_usize integer, log raw( 2000 ));
create index at_fk on audit_trail( cikey );

It worked for me.!!

Thursday, July 17, 2008

Well, I came to Oracle for testing their new product features from a Partner company. It's a nice feeling to be back with Oracle again, the same old environment wherein I grew as an IT professional and as a consultant too.

Well, Oracle is coming up with a bunch of new features related to SOA in R12.1 that, I suppose, would make Integrator's life a lot easier.. The idea is to gradually make the entire Integration Repository service-enabled. Plus custom APIs, Service Objects etc. too could be published in the repository..

more to come...

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...