Showing posts with label BPM. Show all posts
Showing posts with label BPM. Show all posts

Tuesday, September 13, 2016

BPM 12c Error: SQL Server Database Insert Issue

When I was trying to perform insert operation in BPM  (12C) process, i got following exception

Could not invoke operation 'insert' against the 'db' due to: [[
BINDING.JCA-11622
Could not create/access the TopLink Session.
This session is used to connect to the datastore.
Caused by Exception [EclipseLink-7042] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Database platform class [weblogic.jdbc.sqlserver.SQLServerDriver] not found.
Internal Exception: java.lang.ClassCastException: weblogic.jdbc.sqlserver.SQLServerDriver cannot be cast to org.eclipse.persistence.internal.databaseaccess.Platform.
You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server. This exception is considered not retriable, likely due to a modelling mistake.
]]

The error is followed by an exception with the following stack trace:
java.lang.ClassCastException: weblogic.jdbc.sqlserver.SQLServerDriver cannot be cast to org.eclipse.persistence.internal.databaseaccess.Platform

It was very hard to find out the reason. Even google did not help much. With the help of oracle support we came with following reasons for the error.

1. The DB adapter configuration for the connection pool ( Weblogic console -> Deployments -> DbAdapter -> Configuration ->outbound connection pool has incorrect setting for the platformClassName property.
  Outbound Connection pool) 
for the given co
 Depending on the class set there you may see different  java.lang.ClassCastException source classes

2. There was some  incorrect configuration specified in the weblogic-ra.xml

3. The Plan.xml files were different on different servers.


Solution: 


1. Set the correct platformClassName value for the DB Adapter configuration pool within Weblogic console -> Deployments -> DbAdapter -> Configuration -> Outbound Connection pool -> <Your pool>

For Oracle DB connection the platformClassName should have the org.eclipse.persistence.platform.database.Oracle10Platform and for Microsoft SQL server it should have org.eclipse.persistence.platform.database.SQLServerPlatform

Notice that the class is always in the org.eclipse.persistence.platform.database package and extends the org.eclipse.persistence.platform.database.Platform class


2. Please refer to the documentation: https://docs.oracle.com/cd/E24329_01/web.1211/e24971/creating.htm#ADAPT129
 and confirm the weblogic-ra.xml file is correct

3. Please ensure the Plan.xml files are identical in all servers.



Saturday, March 7, 2015

Oracle SOA Suite - BPEL/BPM - Enable/Disable payload validations

Introduction


Sometimes in development phase, its good idea to validate all the input payload to BPEL and BPM processes. In this way we can  rectify any payload related errors which can occur in later stage of the project.

BPEL/BPM Configuration

 

This can done by configuration settings of BPEL and BPM engine from EM console.

1. Log into EM console
2. Right click on  soa-infra and select SOA Administration -> BPEL Properties



 3. Select Payload Validation and save the changes




4. Repeat above steps for BPM properties



These properties should not be enable in production phase because it degrades soa server performance.

Friday, January 10, 2014

Oracle SOA/BPM - Create Application Role from SQL Authenticator in EM Console

This blog is third series of my previous blogs related to SQL Authenticator
SQL Authenticator -1
SQL Authenticator-2
I was facing some issues while creating application role in EM console from DB based Authentication provider.

select soa-infra -> security -> application roles


Click on add button


Choose user as Type and put  some principal name


You will see following error because it would not work for custom authenticators.You have to choose advance option

ERROR
=============
Failed to retrieve users.
Operations error: entity= op=search mesg=Protocol Error LDAP Error 2 : %HOST%:389



Select type as User or Group and enter name of user or group which is present in Database tables


Click OK and put some info in next screen for display and description fields



Click OK and you can seen new application role present in following screen. 


Now you can see these roles in human task activity in JDeveloper