Error in Database Adapter Insert Or Update (Merge) Operation

I have a simple SOA composite which reads XML files and posts data to a database table using a database adapter. I would like to perform a merge operation but I keep getting this error in the log -
SEVERE: JCABinding=> XML2DB:WriteInvToDB [ WriteInvToDB_ptt::merge(InventoryCollection) ] Could not invoke operation 'merge' against the 'Database Adapter' due to:
BINDING.JCA-11616
DBWriteInteractionSpec Execute Failed Exception.
merge failed. Descriptor name: [WriteInvToDB.Inventory].
Caused by java.lang.NullPointerException.
Here is the complete log:
SEVERE: JCABinding=> XML2DB:WriteInvToDB [ WriteInvToDB_ptt::merge(InventoryCollection) ] Could not invoke operation 'merge' against the 'Database Adapter' due to:
BINDING.JCA-11616
DBWriteInteractionSpec Execute Failed Exception.
merge failed. Descriptor name: [WriteInvToDB.Inventory].
Caused by java.lang.NullPointerException.
Please see the logs for the full DBAdapter logging output prior to this exception.
Jan 3, 2009 10:58:06 AM oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl log
SEVERE: JCABinding=> [default/XML2DB!1.0*2008-12-23_13-27-06_078.WriteInvToDB]:merge One-way interaction failed
Jan 3, 2009 10:58:06 AM oracle.tip.mediator.serviceEngine.MediatorServiceEngine post2Mesh
SEVERE: Post 2 messah failed
oracle.fabric.common.FabricInvocationException: BINDING.JCA-12563
Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'merge' failed due to: DBWriteInteractionSpec Execute Failed Exception.
merge failed. Descriptor name: [WriteInvToDB.Inventory].
Caused by java.lang.NullPointerException.
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.
     at oracle.integration.platform.blocks.adapter.fw.jca.cci.EndpointInteractionException.getFabricInvocationException(EndpointInteractionException.java:74)
     at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:226)
     at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:153)
     at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:152)
     at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:159)
     at sun.reflect.GeneratedMethodAccessor253.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:585)
Caused by: BINDING.JCA-12563
Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'merge' failed due to: DBWriteInteractionSpec Execute Failed Exception.
merge failed. Descriptor name: [WriteInvToDB.Inventory].
Caused by java.lang.NullPointerException.
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.
     at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:428)
     at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:509)
     at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeAsyncJcaReference(JCAInteractionInvoker.java:493)
     at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performAsynchronousInteraction(JCAEndpointInteraction.java:429)
     at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:193)
     ... 49 more
Caused by: BINDING.JCA-11616
DBWriteInteractionSpec Execute Failed Exception.
merge failed. Descriptor name: [WriteInvToDB.Inventory].
Caused by java.lang.NullPointerException.
Please see the logs for the full DBAdapter logging output prior to this exception.
     at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:488)
     at oracle.tip.adapter.db.exceptions.DBResourceException.outboundWriteException(DBResourceException.java:529)
     at oracle.tip.adapter.db.transaction.DBTransaction.commit(DBTransaction.java:287)
     at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:311)
     ... 53 more
Caused by: java.lang.NullPointerException
     at oracle.toplink.descriptors.DescriptorQueryManager.putCachedUpdateCalls(DescriptorQueryManager.java:1605)
     at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.prepareUpdateObject(ExpressionQueryMechanism.java:1608)
     at oracle.toplink.internal.queryframework.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:405)
     at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1136)
     at oracle.toplink.queryframework.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:69)
     at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:279)
     at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
Jan 3, 2009 10:58:06 AM oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl log
WARNING: JCABinding=> ReadXML ReadXMLonReject: The resource adapter 'File Adapter' requested handling of a malformed inbound message. However, the following Service property has not been defined: 'rejectedMessageHandlers'. Please define it and redeploy the module. Will use the default Rejection Directory file://jca\ReadXML\rejectedMessages for now.
Jan 3, 2009 10:58:06 AM oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl log
WARNING: JCABinding=> ReadXML ReadXMLonReject: Sending invalid inbound message to Exception Handler:
Jan 3, 2009 10:58:06 AM oracle.tip.mediator.common.error.ErrorMessageEnqueuer$EnqueuerThread run
SEVERE: Failed to enqueue error message
javax.jms.TransactionInProgressException: Cannot call commit on a XA capable JMS session.
     at oracle.j2ee.ra.jms.generic.RAUtils.make(RAUtils.java:595)
     at oracle.j2ee.ra.jms.generic.RAUtils.toTransactionInProgressException(RAUtils.java:846)
     at oracle.j2ee.ra.jms.generic.RAUtils.toTransactionInProgressException(RAUtils.java:840)
     at oracle.j2ee.ra.jms.generic.SessionWrapper.commit(SessionWrapper.java:197)
     at oracle.tip.mediator.common.error.ErrorMessageEnqueuer$EnqueuerThread.run(ErrorMessageEnqueuer.java:187)
     at java.lang.Thread.run(Thread.java:595)
Any help is greatly appreciated.
The INSERT operation works fine with the database adapter, but I cannot get MERGE and UPDATE operations to work as expected!
Thanks.

hi Sudeep,
We are at first hand struggling with DB adapter problem getting down everytime. Don't know the reason why.
DB adapter is in down state and when trying to make it up gives below error:
"weblogic.application.ModuleException: weblogic.connector.exception.RAException: Jndi Name is null or empty."
I just created a simple sync process using DB adapter (custom select) and deplyed successfully. I hope jndi name is not to be configured in weblogic-ra.xml file.
This is the first time we are using this JNDI name (eis/DB/calvindb).
Any inputs will be appreciated.
Thanks,
Nikhil

Similar Messages

  • Database Adapter-Insert

    Hi,
    I am new to BPEL. I am trying to learn through tutorials. I am working on Insert tutorial (Database Adapters).
    I was able to compile the project sucessfully in jdev and deploy to Bpel server.
    After giving the input and hitting on post xml message the follwing error comes up:
    file:/C:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_Insert_1.0_3955c8686706b0e75f228f767a18cf38.tmp/InsertService.wsdl [ InsertService_ptt::insert(MoviesCollection) ] - WSIF JCA Execute of operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [Insert.Movies]. [Caused by: JDBC 2.0 feature is not yet implemented]
    ; nested exception is:
         ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [Insert.Movies]. [Caused by: JDBC 2.0 feature is not yet implemented]
    Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: JDBC 2.0 feature is not yet implementedError Code: 0.
    Does anyone have idea about this error?
    My settings in oc4j_ra.xml are as below:
    <connector-factory location="eis/DB/BPELSamples" connector-name="Database Adapter">
              <config-property name="xADataSourceName" value=""/>
              <config-property name="dataSourceName" value=""/>
              <config-property name="platformClassName" value="oracle.toplink.internal.databaseaccess.OraclePlatform"/>
              <config-property name="usesNativeSequencing" value="true"/>
              <config-property name="sequencePreallocationSize" value="50"/>
              <config-property name="defaultNChar" value="false"/>
              <config-property name="usesBatchWriting" value="true"/>
              <config-property name="driverClassName" value="oracle.lite.poljdbc.POLJDBCDriver"/>
              <config-property name="connectionString" value="jdbc:polite4@localhost:1531:orabpel"/>
              <config-property name="userName" value="system"/>
              <config-property name="password" value="manager"/>
              <config-property name="minConnections" value="1"/>
              <config-property name="maxConnections" value="5"/>
              <config-property name="minReadConnections" value="1"/>
              <config-property name="maxReadConnections" value="5"/>
              <config-property name="usesExternalConnectionPooling" value="false"/>
              <config-property name="usesExternalTransactionController" value="false"/>
              <connection-pooling use="none">
              </connection-pooling>
              <security-config use="none">
              </security-config>
         </connector-factory>
    and datasources.xml is
    <connection-pool name="BPELPM_CONNECTION_POOL">
    <connection-factory factory-class="oracle.lite.poljdbc.POLJDBCDriver"
    user="system"
    password="manager"
    url="jdbc:polite4@localhost:1531:orabpel" />
    </connection-pool>
    <managed-data-source name="BPELServerDataSource"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELServerDataSource" tx-level="global"/>
    <managed-data-source name="BPELServerDataSourceWorkflow"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELServerDataSourceWorkflow" tx-level="local"/>
    <!--managed-data-source name="BPELSamplesDataSource"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELSamplesDataSource" tx-level="global" /-->
    I have a database connection called bpel samples in jdev. Can anyone help me in creating bpel process to insert data in a table using database adapters.
    I am not able to get any output for any of the database adapter tutorials. Any hints????
    Thanks in advance.
    Edited by: user3833651 on Apr 22, 2009 8:17 PM

    The database version is only important with the dehydration store. If you are using the adapters to select / delete / update / insert data into your application it comes down to the jdbc drivers. Basically if you are above 8i you should be fine.
    olite is a very basic database, and the jdbc drivers are flaky, it's also not based on the Oracle code, therefore is not upgradable if you want to increase performance. You would need to perform some manual steps to migrate to a standard database.
    If you are wanting to do basic tutorials and don't want to have a heavy database using all your resources, use oracle XE. No need to pact. If you have a oracle database installed somewhere use that.
    http://www.oracle.com/technology/software/products/database/xe/index.html
    cheers
    James

  • Improve Database adapter insert performance

    Hopefully this is an easy question to answer. I'm getting passed to my BPEL over 8,000 records and I need to take those records and then insert them into an Oracle database. I've been trying to tune the insert by using properties like inMemoryOptimization, but the load still takes severl hours. Any suggestions on how to get the Database adapter to perform better or load all 8,000 records at once? thanks in advance.

    Hello.
    8000 records doesn't sound "huge", unless a record is say 1 kB then you have 8 MB, which is a large payload to move around in one piece.
    A DB merge is typically slower than an insert, though you did say you were using an insert.
    If you are inserting each row one at a time that seems like it would be pretty slow.
    Normally the input to a DB adapter insert is a collection (of rows) vs. a single row. If you have been handed 8000 individual rows you can assemble them into a collection with an iteration - tedious in BPEL but works fine.
    Daren

  • Error with Database adapter

              Hi All,
    I am using a database adapter to write values to database.The build was successful.However when i test it in the console with the sameple input I am getting the below error.
    ERROR:
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. NGW_PP_DBAdapter:Write_DB_Adapter [ Write_DB_Adapter_ptt::insert(StgProductportfolioCollection) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/DB/DB_Conn'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/DB_Conn. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server Please make sure that the JCA connection factory and any dependent connection factories have been configured with a sufficient limit for max connections. Please also make sure that the physical connection to the backend EIS is available and the backend itself is accepting connections. ". The invoked JCA adapter raised a resource exception.
    Can anyone help me out to fix this error.
    Thanks in advance.

    From the error it is clear that your composite is not able to find the DB jndi.The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/DB/DB_Conn'.
    Please follow these steps:
    1) Have u created DB jndi eis/DB/DB_Conn that you are using on weblogic console.
    2) After creating did you redeploy the DB adapter on weblogic console.
    3) If you have done above 2 steps cross check your jndi exists in ur DB adapter or not on weblogic console.
    That could only be the possible reasons for the error you are getting.
    Hope this helps.
    Regards,
    Karan
    Oracle Fusion Middleware Blog

  • Database Adapter: Insert, relationships, sequences and problems of course

    Hello Everyone!!
    I'm trying to do an insert in an Oracle Express Database with a database adapter. I'm trying to do the insert in two tables: SOLICITUDES with a column called NUMSOLICITUD that is also the primary key of the table and it's populated from its own sequence and the other table whose name is DOCJUST with a field NUMSOL. SOLICITUDES has a 1:M relationship with DOCJUST and the fields used in this relationship are NUMSOLICITUD and NUMSOL. The problem is that when the adapter do the insert, the first insert made on SOLICITUDES is correct, but when it tries to insert in the DOCJUST table, when it's supposed to insert in NUMSOL the same value inserted in NUMSOLICITUDES instead of that, a NULL value is inserted in NUMSOL so the process fails. Is it because the NUMSOLICITUDES column is populated from a sequence? How can I resolve that?
    Thanks!!

    Hi,
    OK, I found the following article: http://soa-bpel-esb.blogspot.com/2010/04/understanding-catch-and-catchall.html
    Using the info from that article I have created a test flow, which contains the same insert database adapter as the production flow. I have placed the Invoke within its own scope and attached a "CatchAll" block to this scope. To this block I have added a "empty" step (do nothing).
    In my tests, I see the desired results i.e. the second time I initiate the flow with the same data, the CatchAll block executes, which does nothing, and processing continues after the scope.
    So far so good - my query is how would I catch the specific error of unique index violation rather than general catchall?
    As before, and assistance/comments greatly appreciated.
    Anit

  • Error Invoking Database Adapter

    I am trying to create a simple bpel process which updates table in Oracle Database, but getting some JCA connection issue below:
    "<bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. Project1:writeDB [ writeDB_ptt::insert(ContactOutputCollection) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element &lt;connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the &lt;connection-factory/> element: location='eis/DB/XE_DB'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '&lt;jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/XE_DB. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary></part><part name="detail"><detail>JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element &lt;connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the &lt;connection-factory/> element: location='eis/DB/XE_DB'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '&lt;jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/XE_DB. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server </detail></part><part name="code"><code>12510</code></part></bindingFault></bpelFault>"
    thanks

    Hi
    Checklist
    1) Create DataSource
    2) Connection Pool in the DB Adapter(with jndi eis/DB/XE_DB)
    Edit the default connection pool created and point the xaDataSource or Datasource to jndi of datasource created in step1
    Regards,
    Ajay

  • Database Adapter insert operation with return value

    Hi All,
    I have a table with auto generate parimary key in DB2 database. I need to have an insert operation ont this table which should return current value of primary key after insert.
    For this , I have created an insert operation in DB Adapter. But this insert operation in oneway operation.
    Is there any way I can create an Insert operation in DB2 adapter which returns the primary key value?
    Thanks
    --Sree                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Sree,
    With insert operation it is not possible. You may use stored procedure/function to perform insert and return the required value, and call this SP/function using DB Adapter.
    Regards,
    Anuj

  • How to set null value for a date column using database adapter

    Hello,
    I have a table wih 3 columns
    (id NUMBER,
    modified_on DATE
    contentText VARCHAR2)
    I have a row wih theses values (1, 20/03/2010 16:30, 'coucou')
    I want use a DB adapter in a BPEL process to change the value of column modified_on to (null). I'm using the out-of-he box "update" method (no custom sql, nieher "insert or update (merge)" method)
    - If I only set values of "Id" and "contentText" -> insert is done but I missed the modification of "modified_on" to (null)
    - If I set all values and use expression '' (2 single quote without any space) for modified_on I got an error on update
    BWriteInteractionSpec Execute Failed Exception.
    update failed. Descriptor name: [DBUTFORM.TForm]. [Caused by: String index out of range: 10]
    Caused by Exception [TOPLINK-3001] (Oracle TopLink - 10g Release 3 (10.1.3.3.0) (Build 070608)): oracle.toplink.exceptions.ConversionException
    Exception Description: The object [xs:datetime], of class [class java.lang.String], could not be converted to [class java.sql.Timestamp].
    Internal Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 10.
    Thanks for help

    1008318 wrote:
    its my personal need..then it is a very bad personal need. DATE is not an appropriate type to be using for a primary key, as it cannot be guaranteed to be unique, especially when inserting multiple rows at once.
    You would be better working to business needs and implementing correct technical solutions to those needs, than to just do things based on your personal needs.

  • Time-out error in DB adapter

    Hi,
    I am getting the following error in my bpel process.
    Non Recoverable System Fault :
    Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'merge' failed due to: DBWriteInteractionSpec Execute Failed Exception. merge failed. Descriptor name: [InsertHeader_MTMS.Erpo2027H]. Caused by java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 299 seconds BEA1-08880C41104C3DCB072F at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1523) at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1415) at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:438) at weblogic.jdbc.jta.DataSource.connect(DataSource.java:395) at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:355) at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:123) at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:84) at oracle.toplink.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:153) at oracle.toplink.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:273) at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:230) at oracle.toplink.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:478) at oracle.toplink.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1342) at oracle.toplink.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:251) at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:511) at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:467) at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:447) at oracle.toplink.internal.sessions.IsolatedClientSession.executeCall(IsolatedClientSession.java:117) at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193) at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:179) at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.selectOneRow(DatasourceCallQueryMechanism.java:603) at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRowFromTable(ExpressionQueryMechanism.java:2526) at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRow(ExpressionQueryMechanism.java:2496) at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:424) at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874) at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674) at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835) at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:397) at oracle.toplink.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:899) at oracle.toplink.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2741) at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079) at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063) at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1022) at oracle.tip.adapter.db.DBInteraction.executeOutboundWrite(DBInteraction.java:983) at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:232) at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:302) at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:518) at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeAsyncJcaReference(JCAInteractionInvoker.java:501) at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performAsynchronousInteraction(JCAEndpointInteraction.java:479) at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:235) at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:142) at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:194) at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:204) at sun.reflect.GeneratedMethodAccessor1865.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy185.post(Unknown Source) at oracle.fabric.CubeServiceEngine.postToMesh(CubeServiceEngine.java:770) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:251) at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1009) at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:512) at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:123) at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:63) at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:157) at com.collaxa.cube.engine.CubeEngine._performActivity(CubeEngine.java:2585) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2444) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1121) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:322) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4497) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4428) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:685) at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:682) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:356) at sun.reflect.GeneratedMethodAccessor1911.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104) at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61) at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106) at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105) at sun.reflect.GeneratedMethodAccessor801.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55) at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy172.handleInvoke(Unknown Source) at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.handleInvoke(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:241) at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:35) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:142) at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:82) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: weblogic.transaction.TimedOutException: Transaction timed out after 299 seconds BEA1-08880C41104C3DCB072F at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1521) ... 109 more . ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution.
    My BPEL is
    Gettingfile(using FTP adapter)-->Using the flow activity,i am inserting data into two different tables using two database adapter.In one db adapter,operation is Insert or merge and for the 2nd db adapter operation is 'Insert' only.
    Please help me on this!!

    Thanks Ajay!!!
    My file contains around 3000 records.Is that a problem?
    my Requirement-->
    BPEL will read a file which contains Header table and line table records(sales order).While inserting,BPEL should insert Header records to header table and lines records to line table.So I am using two DB adapters one for Header and other one for Lines table.
    For Header DB adapter I am using Merge operation and Lines table DB adapter I am using Insert opertaion.
    File Content which BPEL will read is contains the records as follows:
    ORDER_NUMBER~REQUEST_DATE~SOLD_TO_ORG_ID~CUST_PO_NUMBER~SHIP_FROM_ORG_ID~CUSTOMER_NAME~SHIP_TO_ADDRESS1~SHIP_TO_ADDRESS2~SHIP_TO_CITY~SHIP_TO_POSTAL_CODE~SHIP_TO_STATE~SHIPPING_METHOD_CODE~FREIGHT_TERMS_CODE~SHIPPING_INSTRUCTIONS~PACKING_INSTRUCTIONS~HEADER_ID~LINE_NUMBER~INVENTORY_ITEM_ID~ORDERED_QUANTITY~UNIT_SELLING_PRICE~HEADER_STATUS~LINE_STATUS~LINE_REUEST_DATESCHEDULE_SHIP_DATELINE_SHIP_FROM_ORG_ID~OPERATING_UNIT~CUSTOMERNAME
    41100016~2010-10-06~1040~12214124ASAFAS~97~Finance Test~Test Address 1-WHD~Test Address 2-WHD~Hyderabad~~AP~~PREPAID AND CHARGE~~~1724~1~509501~1~60~A~A~2010-10-06~2010-10-18~01~WHD~
    41100017~2010-06-08~1040~214145566~97~Finance Test~1100 Abernathy Road~~Atlanta~30328~GA~000001_AACT_L_LTL~PREPAID AND CHARGE~~~1726~1~ITEM1~1~1241~A~A~2010-06-08~2010-06-10~01~WHD~
    41100025~2010-06-17~1100~test-13234~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2350~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100026~2010-06-17~1100~test-132341~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2356~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100027~2010-06-17~1100~TEST2221~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2360~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100028~2010-06-17~1100~test123~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2362~1~419466~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100029~2010-06-17~1100~TEST2222~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2369~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100030~2010-06-17~1100~test12345~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2371~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100030~2010-06-17~1100~test12345~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2371~2~419466~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100031~2010-06-17~1100~test123456~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2378~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100031~2010-06-17~1100~test123456~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2378~2~419466~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100032~2010-06-17~1100~testetetet~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2382~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100032~2010-06-17~1100~testetetet~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2382~2~419466~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100033~2010-06-17~1100~test1234566~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2391~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100033~2010-06-17~1100~test1234566~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2391~2~419466~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100034~2010-06-17~1100~test1234567~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2398~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100034~2010-06-17~1100~test1234567~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2398~2~419466~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100035~2010-06-17~1100~test12345678~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2401~1~419473~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100035~2010-06-17~1100~test12345678~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2401~2~419466~1~999.18~A~A~2010-06-17~2010-06-17~02~WHD~
    41100022~2010-06-10~1040~123~~Finance Test~1100 Abernathy Road~~Atlanta~30328~GA~000001_BESTWAY_T_STANDARD~PREPAID AND CHARGE~~~1852~1~1125-001~10~100~A~A~2010-06-10~2010-06-10~01~WHD~
    41100037~2010-06-18~1100~test12345678~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2490~1~419473~1~999.18~A~A~2010-06-18~2010-06-18~02~WHD~
    41100037~2010-06-18~1100~test12345678~100~MENARDS~101 Main~~Atlanta~30328~GA~~PREPAID~~~2490~2~419466~1~999.18~A~A~2010-06-18~2010-06-18~02~WHD~
    41100038~2010-06-18~1519~OTM Test -11~97~BLACK'S WHOLESALE~1200 Abernathy RD NE~~Atlanta~30328~GA~000001_USIT_T_STANDARD~PREPAID AND CHARGE~~~2544~2~594200~1~445.84~A~A~2010-06-18~2010-06-18~01~WHD~
    41100040~2010-06-18~1519~OTM Test -15~97~BLACK'S WHOLESALE~1200 Abernathy RD NE~~Atlanta~30328~GA~000001_USIT_T_STANDARD~PREPAID AND CHARGE~~~2651~1~594200~1~445.84~A~A~2010-06-18~2010-06-18~01~WHD~
    41100042~2010-06-18~1519~OTM Test -16~97~BLACK'S WHOLESALE~1200 Abernathy RD NE~~Atlanta~30328~GA~000001_USIT_T_STANDARD~PREPAID AND CHARGE~~~2660~1~594200~1~445.84~A~A~2010-06-18~2010-06-18~01~WHD~
    41100043~2010-06-18~1519~OTM Test -17~97~BLACK'S WHOLESALE~1200 Abernathy RD NE~~Atlanta~30328~GA~000001_USIT_T_STANDARD~PREPAID AND CHARGE~~~2661~1~594200~1~445.84~A~A~2010-06-18~2010-06-18~01~WHD~
    41100044~2010-06-18~1519~OTM Test -18~97~BLACK'S WHOLESALE~1200 Abernathy RD NE~~Atlanta~30328~GA~000001_USIT_T_STANDARD~PREPAID AND CHARGE~~~2664~1~594200~1~445.84~A~A~2010-06-18~2010-06-18~01~WHD~
    41100045~2010-06-18~1519~OTM Test -18~97~BLACK'S WHOLESALE~1200 Abernathy RD NE~~Atlanta~30328~GA~000001_USIT_T_STANDARD~PREPAID AND CHARGE~~~2665~1~594200~1~445.84~A~A~2010-06-18~2010-06-18~01~WHD~
    41100048~2010-06-19~6775~test-HD~97~THE HOME DEPOT~MERCH. #33292~112 BEN AVON HEIGHTS RD.~PITTSBURGH~15237~PA~~COLLECT~~~2877~1~320342~10~934.09~A~A~2010-06-19~2010-06-19~01~WHD~3558820
    41100048~2010-06-19~6775~test-HD~97~THE HOME DEPOT~MERCH. #33292~112 BEN AVON HEIGHTS RD.~PITTSBURGH~15237~PA~~COLLECT~~~2877~2~494579~23~433.76~A~A~2010-06-19~2010-06-19~01~WHD~3558820
    41100101~2010-06-21~6775~84021858~97~THE HOME DEPOT~MERCH #33292~1336 BRITOL PIKE~BENSALEM~19020~PA~~COLLECT~ MUST CALL 48 HOURS PRIOR TO DELIVERY . DEPT #26 RECEIVING DEPT SIGNATURE & DATE REQUIRED______________ DELIVERY TIME IS 17:00 NO DRIVERS ASSISTANCE REQUIRED~ MUST CALL 48 HOURS PRIOR TO DELIVERY . DEPT #26~3220~1~518336~2~248.53~A~A~2010-06-21~2010-06-21~01~WHD~3558256
    41100146~2010-05-27~7225~074989~101~BUDGE-MCHUGH SUPPLY CO~124 WEST 4TH ST~~MEDFORD~975010000~OR~000001_BEST_L_LTL~PREPAID AND CHARGE~NO DRIVERS ASSISTANCE REQUIRED~~3265~1~579511~1~363~A~A~2010-06-09~2010-06-21~09~WHD~1007901
    Please tell me how can i achieve this Master-Detail requirement,if Merger operation is failing.Now i am using empty BPEL process.
    Edited by: DevD on Nov 2, 2010 9:10 PM

  • Transaction commit in database adapter

    Hi,
    When the commit happens when a database adapter inserts a record.
    I have two invoke process one is db adapter to insert records and second the db adapter to call the procedure to update the records inserted by first adapter, but will the records will be visible in the second adapter.
    Please advice, thanks in advance.
    Regards,
    SReejit

    Yes because it is one transaction, therfore you can roll back if the second fails.
    But if you perform a dehydration, e.g. wait, human task, receive activity then the first insert will be committed. so you will not be able to roll back. You will need to use a compensate activity.
    cheers
    James

  • Multiple stored procedure in Database Adapter

    Can I manually create the wsdl for database adapter, which can have multiple operations for different stored procedures?
    I tried creating a wsdl as -
    <definitions
    name="CustomAdapter"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/CustomAdapter/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/CustomAdapter/"
    xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/xsd/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:hdr="http://xmlns.oracle.com/pcbpel/adapter/db/"
    >
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/" location="DBAdapterOutboundHeader.wsdl"/>
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/xsd/"
    schemaLocation="myadapter.xsd" />
    </schema>
    </types>
    <message name="args_in_msg_tscp1">
    <part name="InputParameters" element="db:InputParametersTSCP1"/>
    </message>
    <message name="args_in_msg_sample">
    <part name="InputParameters" element="db:InputParametersSAMPLE"/>
    </message>
    <message name="args_out_msg_sample">
    <part name="OutputParameters" element="db:OutputParametersSAMPLE"/>
    </message>
    <portType name="Proc1_ptt">
    <operation name="Proc1">
    <input message="tns:args_in_msg_tscp1"/>
    </operation>
    <operation name="Proc2">
    <input message="tns:args_in_msg_sample"/>
    <output message="tns:args_out_msg_sample"/>
    </operation>
    </portType>
    <binding name="Proc1_binding" type="tns:Proc1_ptt">
    <jca:binding />
    <operation name="Proc1">
    <jca:operation
    InteractionSpec="oracle.tip.adapter.db.DBStoredProcedureInteractionSpec"
    SchemaName="SYSTEM"
    ProcedureName="TSCP1"
    >
    </jca:operation>
    <input>
    <jca:header message="hdr:OutboundHeader_msg" part="outboundHeader"/>
    </input>
    </operation>
    <operation name="Proc2">
    <jca:operation
    InteractionSpec="oracle.tip.adapter.db.DBStoredProcedureInteractionSpec"
    SchemaName="SYSTEM"
    ProcedureName="MYSAMPLEPROC"
    >
    </jca:operation>
    <input>
    <jca:header message="hdr:OutboundHeader_msg" part="outboundHeader"/>
    </input>
    <output/>
    </operation>
    </binding>
    <service name="Proc1">
    <port name="Proc1_pt" binding="tns:Proc1_binding">
    <!--Your runtime connection is declared in
    J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml
    These mcf properties here are from your design time connection and
    save you from having to edit that file and restart the application server
    if eis/DB/System25 is missing.
    These mcf properties are safe to remove.-->
    <jca:address location="eis/DB/DBConn25" UIConnectionName="System25"
    />
    </port>
    </service>
    <plt:partnerLinkType name="Proc1_plt" >
    <plt:role name="Proc1_role" >
    <plt:portType name="tns:Proc1_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    </definitions>
    Then I copied this wsdl and corresponding xsd to my BPEL process and created a partnerlink for this wsdl.
    I added two invoke activities, one for Proc1 operation and other for Proc2 operation.
    When I tried testing this BPEL process, the BPEL process manager was invoking only Proc1 operation for both invoke activities and giving me error as-
    <Faulthttp://schemas.oracle.com/bpel/extensionhttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>null:bindingFault</faultcode>
    <faultstring>business exception</faultstring>
    <faultactor>cx-fault-actor</faultactor>
    <detail>
    <code>1400</code>
    <summary>file:/D:/Morrisons/OracleProducts/product/Oracle_SOA/bpel/domains/TestPOC/tmp/.bpel_MyAdapterTest_1.0_c564165702d743346cadb68bc5bbb594.tmp/CustomAdapter.wsdl [ Proc1_ptt::Proc1(InputParameters) ] - WSIF JCA Execute of operation 'Proc2' failed due to: Error while trying to prepare and execute an API. An error occurred while preparing and executing the SYSTEM.TSCP1 API. Cause: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 [Caused by: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 ] ; nested exception is: ORABPEL-11811 Error while trying to prepare and execute an API. An error occurred while preparing and executing the SYSTEM.TSCP1 API. Cause: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 [Caused by: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 ] Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable. </summary>
    <detail> Internal Exception: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 Error Code: 1400</detail>
    </detail>
    </Fault>
    I want to create only one wsdl for all the strored procedures.

    Can I manually create the wsdl for database adapter, which can have multiple operations for different stored procedures?
    I tried creating a wsdl as -
    <definitions
    name="CustomAdapter"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/CustomAdapter/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/CustomAdapter/"
    xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/xsd/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:hdr="http://xmlns.oracle.com/pcbpel/adapter/db/"
    >
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/" location="DBAdapterOutboundHeader.wsdl"/>
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/xsd/"
    schemaLocation="myadapter.xsd" />
    </schema>
    </types>
    <message name="args_in_msg_tscp1">
    <part name="InputParameters" element="db:InputParametersTSCP1"/>
    </message>
    <message name="args_in_msg_sample">
    <part name="InputParameters" element="db:InputParametersSAMPLE"/>
    </message>
    <message name="args_out_msg_sample">
    <part name="OutputParameters" element="db:OutputParametersSAMPLE"/>
    </message>
    <portType name="Proc1_ptt">
    <operation name="Proc1">
    <input message="tns:args_in_msg_tscp1"/>
    </operation>
    <operation name="Proc2">
    <input message="tns:args_in_msg_sample"/>
    <output message="tns:args_out_msg_sample"/>
    </operation>
    </portType>
    <binding name="Proc1_binding" type="tns:Proc1_ptt">
    <jca:binding />
    <operation name="Proc1">
    <jca:operation
    InteractionSpec="oracle.tip.adapter.db.DBStoredProcedureInteractionSpec"
    SchemaName="SYSTEM"
    ProcedureName="TSCP1"
    >
    </jca:operation>
    <input>
    <jca:header message="hdr:OutboundHeader_msg" part="outboundHeader"/>
    </input>
    </operation>
    <operation name="Proc2">
    <jca:operation
    InteractionSpec="oracle.tip.adapter.db.DBStoredProcedureInteractionSpec"
    SchemaName="SYSTEM"
    ProcedureName="MYSAMPLEPROC"
    >
    </jca:operation>
    <input>
    <jca:header message="hdr:OutboundHeader_msg" part="outboundHeader"/>
    </input>
    <output/>
    </operation>
    </binding>
    <service name="Proc1">
    <port name="Proc1_pt" binding="tns:Proc1_binding">
    <!--Your runtime connection is declared in
    J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml
    These mcf properties here are from your design time connection and
    save you from having to edit that file and restart the application server
    if eis/DB/System25 is missing.
    These mcf properties are safe to remove.-->
    <jca:address location="eis/DB/DBConn25" UIConnectionName="System25"
    />
    </port>
    </service>
    <plt:partnerLinkType name="Proc1_plt" >
    <plt:role name="Proc1_role" >
    <plt:portType name="tns:Proc1_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    </definitions>
    Then I copied this wsdl and corresponding xsd to my BPEL process and created a partnerlink for this wsdl.
    I added two invoke activities, one for Proc1 operation and other for Proc2 operation.
    When I tried testing this BPEL process, the BPEL process manager was invoking only Proc1 operation for both invoke activities and giving me error as-
    <Faulthttp://schemas.oracle.com/bpel/extensionhttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>null:bindingFault</faultcode>
    <faultstring>business exception</faultstring>
    <faultactor>cx-fault-actor</faultactor>
    <detail>
    <code>1400</code>
    <summary>file:/D:/Morrisons/OracleProducts/product/Oracle_SOA/bpel/domains/TestPOC/tmp/.bpel_MyAdapterTest_1.0_c564165702d743346cadb68bc5bbb594.tmp/CustomAdapter.wsdl [ Proc1_ptt::Proc1(InputParameters) ] - WSIF JCA Execute of operation 'Proc2' failed due to: Error while trying to prepare and execute an API. An error occurred while preparing and executing the SYSTEM.TSCP1 API. Cause: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 [Caused by: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 ] ; nested exception is: ORABPEL-11811 Error while trying to prepare and execute an API. An error occurred while preparing and executing the SYSTEM.TSCP1 API. Cause: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 [Caused by: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 ] Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable. </summary>
    <detail> Internal Exception: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."EMPS"."EMPID") ORA-06512: at "SYSTEM.TSCP1", line 4 ORA-06512: at line 1 Error Code: 1400</detail>
    </detail>
    </Fault>
    I want to create only one wsdl for all the strored procedures.

  • [OLD-BPEL PM] DataBase Adapter 성능향상문제...

    댓글: 1 - 페이지: 1 - 마지막 글: 2006. 12. 9 오전 1:39 최종 작성자: champion 글타래(쓰레드): [ 이전 | 다음 ]
    iris
    글: 18
    등록일: 06. 11. 6
    DataBase Adapter 성능향상문제...
    게시일: 2006. 12. 8 오후 6:36 댓글
    Database Adapter를 이용해 다량의 Row를 Select해서 다른 Table에 Merge를
    해보았습니다.. 10만건을 test했는데 서버가 다운되더군요...
    5만건을 테스트했더니 서버가 엄청 버벅되더니 죽지는 않았는데 속도가
    상당히 많이 걸립니다... 이런건 해결할수 있는방법이 없나요?
    Polling관련 Tutorial을 보면 Performance관련 예제가 있던데 한번 따라해
    봤습니다.. Polling은 Wizard에서 MaxRaiseSize나 NumberOfThreads, MaxTransactionSize 같은 부분을 설정해 주는부분이 있습니다...
    polling을 사용하지않고 그냥 Custom Excute SQL을 사용해 DB에서 가져올때는
    이런 Performance향상을 위한부분이 Oracle BPEL에 있는지 궁금합니다..
    (속도및 OutOfMemory관련)
    또한 Polling시 MaxRaiseSize, MaxTransactionSize 이런 부분은 속도와 상관이
    있는 부분인지 궁금합니다.
    그럼 답변 부탁드릴께요.. 감사합니다.. ^^
    champion
    글: 6
    등록일: 06. 10. 26
    Re: DataBase Adapter 성능향상문제...
    게시일: 2006. 12. 9 오전 1:39 iris 님의 질문에 답변 댓글
    XML 처리에 있어서 가장 문제가 되는 것은 Node의 Depth와 XML 자체 사이즈입니다. BPEL은 기본적으로 XML 연산을 많이 해야되기 때문에 항상 Variable을 Dom Object로 관리하고 특정 값을 구하거나 바꾸거나 하는 작업을 진행합니다. 따라서 DB의 Data를 가져오는데 있어서 중요한 성능 요인은 XML의 크기(Columns 곱하기 Rows)입니다. Column이야 필요한 것은 모두 가져와야 하니 당연히 Rows의 수를 조절하는 방법이 가장 효과적입니다. MaxRaiseSize가 이를 조절하는 Parameter고요 일반적으로 100 근처의 값을 사용합니다. 즉, 1000Rows가 처리되어야 한다고 가정할 때 MaxRaise가 100이면 10개의 BPEL Instance가 동시에 기동되어 처리되는 것입니다. 참고로 저희가 내부적으로 Notebook을 이용하여 DB2DB(Polling > Transformation > Merge) Test를 하면 분당 2만건 정도를 소화하더군요.
    한가지 더 DB Adapter 관련 Tip을 말씀드리면 Merge는 Insert보다 훨씬 비싼 Operation입니다. 따라서 단순 Insert의 경우 Merge 보다 Insert를 사용하시는 것이 성능 측면에서 유리합니다.
    마지막으로 DB Adapter가 사용하는 DataSource는 반드시 oc4j-ra.xml에 정확히 setting 되어야 하고 되도록이면 다음과 같이 oc4j가 관리하는 DataSource를 사용하시는 것이 DB Connection 사용 측면에서 유리합니다.
    usesExternalTransactionController="true"
    usesExternalConnectionPooling="true"
    dataSourceName="jdbc/<someDataSourceName>"

    In the transform activity (xslt) you need to use the for-each expression for the repeating element.
    right-click the target root node that repeats, select node, and there should be an option of for-each
    This will make it repeating.
    cheers
    James

  • Database Adapter Custom SQL

    Hi All,
    Is there any way that we can add the variables from BPEL process in custom SQL of database adapter.
    Example:
    I have a variable defined in BPEL process and I have assigned a value to that variable. And in invoke process accessing database adapter is having Custom Sql operation then how can I use the variable in custom sql?
    Any idea, please suggest.
    Regards,
    Sreejit

    Sreejit,
    You can assign/pass a value to your custom sql of DBAdapter like this.
    select from <tablename> where tname = #variablename*+
    ex: select * from emp where empno=#employeenum
    Use an assign/transformation activity and do the mapping from the actual variable to the input variable(shows 'employeenum' as its variable) of invoke activity which invokes the DBAdapter.
    I used this scenario extensively in my projects.
    Thanx,
    Sen

  • First row is repeting while accessing multiple rows through Database adapte

    Hi,
    Iam using Database adapter in BPEL process to retrive the data from remote database.In Database adapter i have selected select operation and passing input parameter.
    Actually that adapter needs to return 10 different rows though output variable of that adapter.
    Its returing 10 rows but the first row is repeting 10 times.
    Iam not able to get 10 rows.only first row is repeting.
    Please help me in this.
    Thanks in Advance

    Hi Arik,
    I got the solution.The problem is primary key only.
    Your solution correct.
    Thank u very much for answering this question quickly.
    I have changed the primary key its working fine.
    Could u please explain me what is the problem with primay key exactly.
    Thanks in advance,
    Sreeni

  • Command to insert or update database error

    I'm using DW CS4. Every time I create a new command to insert or update a record the generated code is invalid. The error is at the line that suppose to have all variables just before the adodb command and looks like this:
    <%
    ' IIf implementation
    Function MM_IIf(condition, ifTrue, ifFalse)
      If condition = "" Then
        MM_IIf = ifFalse
      Else
        MM_IIf = ifTrue
      End If
    End Function
    Dim insNewCalComm__@@varName@@
    insNewCalComm__@@varName@@ = "@@defaultValue@@"
    If (@@runtimeValue@@ <> "") Then
      insNewCalComm__@@varName@@ = @@runtimeValue@@
    End If
    %>

         try {
                   executeInsert();
              catch(Exception e){ /*duplicate key error if exists*/
              try {
                   executeUpdate();
              catch(Exception p){ /*another error*/
              System.out.println( e.getMessage());
              System.out.println( p.getMessage());
         }     

Maybe you are looking for

  • Business Catalyst will not allow me to add more than 11 items to Web Map? Is there any fix for this?

    Basically I cannot add more than 11 items on to a web app map. If I add more than 11 than the rest of the items appear of the coast of Africa for some reason. I am not sure why this happens but I was wondering if anyone else has had a similar problem

  • Java program for Sudoku puzzle

    I basically need to list the possible solutions to every blank space in a sudoku puzzle. I can make my puzzle in a .txt file and then just run that in my program. Here's an example of a line I would create in my.txt file: 5 3 _ _ 7 _ _ _ _ (So possib

  • Custom Template on Sales Order Form -- Actions Preview and Print

    Hello All, I want to get the custom Template enabled for Layout Template associated to Transaction Types. 1) Go to Responsibility: Order Management Super User 2) Setup > Transaction Type > Define 3) Query Transaction Type > In the field "Layout Templ

  • Dunning contract accounts with an incoming payment method

    Hi gurus, is it possible to dun contract accounts which have an incoming payment method active? if is not possible at the standard can you modify an event? Best regards.

  • h:datatable error!!!who can help me??

    I had met a quession when i use the tag <h:datatable>,please help me. there is no problem about my managed bean. <%@ page language="java" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://ja