Saturday, October 18, 2008

Dear Readers, one more error and the potential fix:
This error has also been posted on the forum:
http://forums.oracle.com/forums/message.jspa?messageID=2820752

I have the following in place:
1) JMS Consumer BPEL Process : It Consumes messages from a JMS Queue.
2) Another BPEL Process : It does transormation and calls an ESB service.
3) An ESB Service: This is my router.

I am facing the following problem with my SOA:

exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: company: company *


I have chain of calls wherein Service1 calls Service2 and Service2 in turn calls Service3.
However, When BPEL Process 2 calls ESB Service 3, I get the above mentioned exception:

The following is the few first and last lines in the exception stack:

at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:656)
at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:436)
at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:251)

....
....

at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:819)
at java.lang.Thread.run(Thread.java:595)

Cause and Fix:
--------------
The problem arose because the WSDL for the Routing Service had a service tag which was pointing to the dummy implementation endpoint. It was of a form like : http://company/blabla/
The company you see in the exception summary, was coming from this Service tag. The URL being a dummy one is not found and the message send failed.
When you register a routing service, a new WSDL gets created which imports the abstract WSDL. But here the service and binding tags (somehow they were added and that was the issue) in the abstract WSDL was being considered and hence the error.

Removing the service and binding tags from this WSDL was a fix.

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

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.

Monday, January 14, 2008

First day..

Well, my first day here. Came here with a strong intention that i would be writing often and make sure the content here would be worth reading and at the same time interesting as well..
quite challenging.. let's see how it goes..!! :)