Database adapters are used to perform CRUD operations on tables from BPEL processes in Oracle SOA Suite. I came across an error recently which is quite easy to resolve but required a bit of idea about how the DB Adapters are configured.
When you create a DBAdapter in JDeveloper and use that in a Partner Link in a BPEL (or ESB) process – the WSDL file for the adapter contains the JNDI name for the service. At development time you can use the JDeveloper configured database connection, however in other environments you need to add a level of indirection through the use of “datasources”. This is done to prevent the “hard-coding” over username/password details within some xml file packaged and deployed to the appserver.
So how does the datasource – say “jdbc/myappDS” – get tied to a JNDI for the Database Adapter?
If you have Oracle SOA Suite 10g installed … navigate to your applications home directory and then under “j2ee/oc4j_soa/application-deployments/default/DbAdapter” look for the Deployment Descriptor file – “oc4j-ra.xml”. This file should map the DBAdaptor JNDI to the Datasource JNDI.
Now, when you define your datasource you should have the username/password configured in the DataSourceConnectionPool in an OC4J instance.
BPEL Error and Fix:
Error message
[2011/06/08 19:21:17]"{http://schemas.oracle.com/bpel/extension}remoteFault" has been thrown.-<remoteFault xmlns="http://schemas.oracle.com/bpel/extension">-<part name="code"><code>1017</code></part>-<part name="summary"><summary>file:/opt/oracle/soa/bpel/domains/default_dev/tmp/.bpel_ebsflow_1.0_96b622dbeda228ce786e206d103b0eae.tmp/assign_id.wsdl [ assign_id_ptt::assign_id(InputParameters) ] - WSIF JCA Execute of operation 'assign_wagn' failed due to: Could not create/access the TopLink Session.This session is used to connect to the datastore. [Caused by: ORA-01017: invalid username/password; logon denied]; nested exception is: ORABPEL-11622Could not create/access the TopLink Session.This session is used to connect to the datastore. [Caused by: ORA-01017: invalid username/password; logon denied] See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml) and restart the server. Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.5.0) (Build 090715)): oracle.toplink.exceptions.DatabaseExceptionInternal Exception: java.sql.SQLException: ORA-01017: invalid username/password; logon deniedError Code: 1017.</summary></part>-<part name="detail"><detail>Internal Exception: java.sql.SQLException: ORA-01017: invalid username/password; logon deniedError Code: 1017</detail></part></remoteFault>
hi,
Plz explain the how do the fault handling in db adapter if we are using CRUD operations.
1. inserting data if the table having primary key
2. selecting/deleting data if the selected record not exist in the table
LikeLike