JCA: Sample Adapter Transaction Support

Hi guys,
  Could anyone tell me the transaction level supported by Sample Adapter.In the code they are using SAPResourceAdapter to access the J2EE Thread Manager.But in the code it has given that it won't support Local Transaction or XA Resource.
  So what is the Transaction level supported by Sample Adapter.
regards,
siva.

You have to distinguish between 1) the Transaction level support of the J2EE Connector Architecture (JCA) and 2) the internal usage of the J2EE transaction manager.
Ad 1) the XI docu says <i>JCA resource adapters can provide all kinds of JCA transactions. The Adapter Framework does not use them</i>. That's why the sample adapter uses NoTransaction.
Ad 2): The transaction manager has to be used for asynchronous processing (QoS Exactly Once). This is used for transaction management inside the adapter. For details see the sample adapter code or the Adapter Development docu http://help.sap.com/saphelp_nw04/helpdata/en/59/59d6409ff68631e10000000a1550b0/content.htm

Similar Messages

  • Problem with PCK 7.1 SP07 JCA Sample Adapter

    Hello!
    I have a Problem with the JCA Sample Adapter in the PCK 7.1 SP07. I will test the Configuration ( http://help.sap.com/saphelp_nwpi71/helpdata/en/f7/0c2441509fa831e10000000a1550b0/content.htm ) .
    But the receiver channel has a Massage processing failure: u201CMessage processing failed. Cause: java.lang.Exception: JNDI name of the ra connectionFactory is not configured. Go to the directory and create a value with name 'JNDIName' and value 'deployedAdapters/<ra name>/shareable/<ra name>' as module configuration data of the module 'ModuleProcessorExitBean'u201D
    In the JNDI-Browser of Netwaver Administration canu2019t found JNDIName from directory ('deployedAdapters/sample_ra/shareable/sample_ra). I have located the name deployedAdapters/com.sap.aii.adapter.sample.ra/shareable/com.sap.aii.adapter.sample.ra and change this in the receiver channel  u201CTo_Au201D. But I have the same problem.
    I hope you can help me!
    Thanks & Regards
    Stefan

    Hello!
    Yes I followed the Instruction.
    I have deployed the Sample Source as AdapterJCA, change the JNDI name in the SampleRa.xml and upload to CPA Cache. 
    I have by now the Configuration deleted in PCK and rebuild the scenario. The demo Configuration runs now. I think the Configuration in the CPA Cache was wrong.
    Stefan

  • Jca Ftp Adapter - XA support

    Hi,
    I have requirement to move files between two ftp servers. I have implemented this using OSB services configured with jca ftp adapter. After reading the files from the source system the adapter is configured to delete the file from source directory. While moving the files if the target system is unreachable the transaction should roll back and the file should remain in the source directory.
    Can this be achievable using jca ftp adapter. Does ftp adapter have XA capability?
    Thanks,
    Sai.

    OSB's ftp transport is transactional on the inbound side ( proxy service side) .. So you could use this.. Make sure you are not configuring any reply actions in any of the error handlers.. When route error occurs make sure the error is allowed to propagate back to the system error handler.. .
    By default osb's ftp transport will retry only once and then move the file to the error directory. If you want to change this behaviour say retry infinitely or retry after a delay , you have to change the dleivery failure settings for the internal JMS queue WLSAdmin Console --> JMSModules --> jmsResources --> wlsb.internal.transport.task.queue.ftp_auto_2 ( wlsb.internal.transport.task.queue.ftp_auto_3 and so on) Delivery Failure and change redelivery delay and redelivery limit.
    Note OSB's ftp transport is not transactional outbound(business service) , so you might get only "At-least once" (and not "exactly-once") quality of service using this ..

  • JCA Sample Adapter

    I need to write a sample program to demonstrate the basics of JCA. In previous releases of J2EE they provided BlackBox adapters which connected to a database. This allowed you to show how JCA works without having to have an EIS and a custom adapter.
    I cannot find the BlackBox adapters with J2EE 1.4.
    Are they still available with 1.4, or is there another adapter provided which could be used in my sample?

    The BlackBox is part of the J2EE 1.3 tutorial.
    That is tutorial is stilll available on-line. http://java.sun.com/j2ee/tutorial/1_3-fcs/
    You would need to adapt it to the 1.4 app server environment.
    That shouldn't be hard, since there is a backward compatability requirement.
    The build script would need to be fixed up, though.
    vbk

  • I need Fusion help creating a demo of BRM JCA Resource Adapter

    I need Fusion help creating a demo of BRM JCA Resource Adapter.
    I know BRM well but am clueless with Fusion.
    I am trying to figure out what Fusion products to download and install and how I manipulate the Fusion side to manipulate BRM.
    My BRM docs say:
    Installing the BRM JCA Resource Adapter ->
    Software requirements
    (yada yada install a bunch of BRM stuff I know how to do)
    The adapter must be deployed on a J2EE 1.4-compliant application server that has implemented the JCA 1.5 specification. The adapter runs only in a managed environment. (Does this imply some particular Fusion package?)
    (more yada yada about installing more BRM packages I know how to do)
    Deploying and configuring the BRM JCA Resource Adapter ->
    Overview of the BRM JCA Resource Adapter configuration procedure
    The procedure for setting up the BRM JCA Resource Adapter includes the following tasks:
    Installing the adapter on your BRM system, if you have not already done so. See Installing the BRM JCA Resource Adapter.
    Generating the schema files for the adapter. See Generating the schema files for your system. (links to some BRM commands np)
    Specifying how to construct XML tags. See Specifying the XML tags for extended fields. (links to an oob file included with directions on how to address BRM customizations np)
    Generating the WSDL files for the adapter. See Generating the WSDL files for your system. (links to an oob file with directions to configure. I could use some help if/when I get this far)
    The last two look pretty important but I haven't a clue. I pasted the text from the docs below.
    Deploying the adapter on your application server. See Deploying the BRM JCA Resource Adapter on an Oracle application server.
    Connecting the adapter to the BRM software. See Connecting the adapter to BRM in Oracle AS.
    Deploying the BRM JCA Resource Adapter on an Oracle application server
    The adapter is dependent on Java Archive (JAR) files to deploy properly. The following table lists the JAR files that the adapter requires from each application in your system.
    Application
    JAR files
    J2EE application server
    classes12.jar, connector15.jar, and jta.jar
    Oracle BPEL process
    bpm-infra.jar, orabpel-thirdparty.jar, orabpel.jar, and xmlparserv2.jar
    BRM J2EE Resource Adapter
    pcm.jar and pcmext.jar
    Apache
    xercesImpl.jar
    If you are deploying the adapter in a standalone Oracle Containers for Java EE (OC4J) instance, make sure these JAR files are available to the class loader that is loading the adapter.
    If you are deploying the adapter by using Oracle SOA Suite, these JAR files are available as part of the oracle.bpel.common code source. You import these libraries as follows:
    Open the Oracle_home/j2ee/Instance/config/applications.xml configuration file for the J2EE instance.
    Add the oracle.bpel.common entry (shown in bold below) to the imported-shared-libraries section of the file:
    <imported-shared-libraries>
    <import-shared-library name="adf.oracle.domain"/>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    Save and close the file.
    Restart the application server or the J2EE instance.
    After you make the JAR files available, deploy the adapter on the Oracle application server by using either the Oracle Application Server (Oracle AS) Application Server Control (ASC) or the Oracle admintool.jar file. Copy the adapter archive file (BRM_home/apps/brm_integrations/jca_adapter/OracleBRMJCA15Adapter.rar) from the installation directory to a location that is accessible to the adapter deployment tool. You can then open and deploy the archive file on your application server.
    After successful deployment, return the applications.xml file to its original settings and add the oracle.bpel.common codesource to the BRM Adapter oc4j-ra.xml file:
    Open the Oracle_home/j2ee/Instance/config/applications.xml configuration file for the J2EE instance.
    Remove the following oracle.bpel.common entry (shown in bold below):
    <imported-shared-libraries>
    <import-shared-library name="adf.oracle.domain"/>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    Save and close the file.
    Open the JCA Resource Adapter oc4j-ra.xml file from the Oracle_home/j2ee/Instance/application-deployments/default/BRMAdapterDeploymentName directory.
    Add the oracle.bpel.common entry (shown in bold below) to the oc4j-connector-factories section of the file:
    <oc4j-connector-factories...>
    <imported-shared-libraries>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    <oc4j-connector-factories>
    Save and close the file.
    Restart the application server or the J2EE instance.
    For more information about deploying the adapter, see your application server’s documentation.
    Connecting the adapter to BRM in Oracle AS
    You connect the adapter to the BRM software by creating connection pools and connection factories. As part of the adapter deployment, the application server creates oc4j-ra.xml from the packaged ra.xml. The ra.xml file is located in the Oracle_home/j2ee/Instance/connectors/AdapterDeploymentName/AdapterDeploymentName/META-INF directory. For example, Oracle_home/j2ee/home/connectors/BRMAdapter/BRMAdapter/META-INF/ra.xml.
    Use the resource adapter home page from the Oracle AS ASC page to create connection pools and connection factories.
    Create your connection pool by following the performance and tuning guidelines in Configuring Connection Pooling in OC4J in Oracle Containers for J2EE Resource Adapter Administrator's Guide. See download.oracle.com/docs/cd/B31017_01/web.1013/b28956/conncont.htm.
    Make sure you set the pool’s Maximum Connections parameter (maxConnections XML entity) equal to or greater than the Oracle BPEL process manager’s dspMaxThreads parameter. For more information, see Oracle BPEL Process Manager Performance Tuning in Oracle Application Server Performance Guide for 10g Release 3 (10.1.3.1.0) at download.oracle.com/docs/cd/B31017_01/core.1013/b28942/tuning_bpel.htm.
    Note To set up JCA Resource Adapter transaction management in BPEL, you must create a private connection pool and set its Inactive Connection Timeout property (inactivity-timeout XML entity) to 0. See About JCA Resource Adapter transaction management in BPEL for more information.
    Create as many connection factories as your system needs. For each connection factory, specify the following:
    The JNDI location for the connection factory.
    The connection pool to use.
    How to connect to BRM by using these entries:
    Entry
    Description
    ConnectionString
    Specify the protocol, host name, and port number for connecting to the BRM software. For example: ip Server1 12006.
    DBNumber
    Specify the database number for the BRM database. For example, enter 1 or 0.0.0.1 for database 0.0.0.1.
    InputValidation
    Specifies whether to validate the input XMLRecord:
    True — The adapter validates the input XMLRecord against the opcode schema.
    False — The adapter does not validate the input XMLRecord.
    The default is False.
    This overrides any other validation parameter specified in the WSDL file.
    OutputValidation
    Specifies whether to validate the output XMLRecord:
    True — The adapter validates the output XMLRecord against the opcode schema.
    False — The adapter does not validate the output XMLRecord.
    The default is False.
    This overrides any other validation parameter specified in the WSDL file.
    LoginType
    Specifies the authentication method:
    1 — The adapter logs in to BRM by using the specified login name and password.
    0 — The adapter logs in to BRM by using the specified service type and POID ID.
    The default is 1.
    UserName
    Specifies the login name the adapter uses for logging in to the BRM software.
    Note This entry is required only if LoginType is set to 1.
    Password
    Specify the password the adapter uses for logging in to the BRM software.
    Note This entry is required only if LoginType is set to 1.
    PoidID
    Specifies the POID ID. This entry should be set to 1.
    ServiceType
    Specifies the service the adapter uses to log in to the BRM software.
    The default is /service/pcm_client.
    You have successfully configured the adapter to connect to BRM.

    I need Fusion help creating a demo of BRM JCA Resource Adapter.
    I know BRM well but am clueless with Fusion.
    I am trying to figure out what Fusion products to download and install and how I manipulate the Fusion side to manipulate BRM.
    My BRM docs say:
    Installing the BRM JCA Resource Adapter ->
    Software requirements
    (yada yada install a bunch of BRM stuff I know how to do)
    The adapter must be deployed on a J2EE 1.4-compliant application server that has implemented the JCA 1.5 specification. The adapter runs only in a managed environment. (Does this imply some particular Fusion package?)
    (more yada yada about installing more BRM packages I know how to do)
    Deploying and configuring the BRM JCA Resource Adapter ->
    Overview of the BRM JCA Resource Adapter configuration procedure
    The procedure for setting up the BRM JCA Resource Adapter includes the following tasks:
    Installing the adapter on your BRM system, if you have not already done so. See Installing the BRM JCA Resource Adapter.
    Generating the schema files for the adapter. See Generating the schema files for your system. (links to some BRM commands np)
    Specifying how to construct XML tags. See Specifying the XML tags for extended fields. (links to an oob file included with directions on how to address BRM customizations np)
    Generating the WSDL files for the adapter. See Generating the WSDL files for your system. (links to an oob file with directions to configure. I could use some help if/when I get this far)
    The last two look pretty important but I haven't a clue. I pasted the text from the docs below.
    Deploying the adapter on your application server. See Deploying the BRM JCA Resource Adapter on an Oracle application server.
    Connecting the adapter to the BRM software. See Connecting the adapter to BRM in Oracle AS.
    Deploying the BRM JCA Resource Adapter on an Oracle application server
    The adapter is dependent on Java Archive (JAR) files to deploy properly. The following table lists the JAR files that the adapter requires from each application in your system.
    Application
    JAR files
    J2EE application server
    classes12.jar, connector15.jar, and jta.jar
    Oracle BPEL process
    bpm-infra.jar, orabpel-thirdparty.jar, orabpel.jar, and xmlparserv2.jar
    BRM J2EE Resource Adapter
    pcm.jar and pcmext.jar
    Apache
    xercesImpl.jar
    If you are deploying the adapter in a standalone Oracle Containers for Java EE (OC4J) instance, make sure these JAR files are available to the class loader that is loading the adapter.
    If you are deploying the adapter by using Oracle SOA Suite, these JAR files are available as part of the oracle.bpel.common code source. You import these libraries as follows:
    Open the Oracle_home/j2ee/Instance/config/applications.xml configuration file for the J2EE instance.
    Add the oracle.bpel.common entry (shown in bold below) to the imported-shared-libraries section of the file:
    <imported-shared-libraries>
    <import-shared-library name="adf.oracle.domain"/>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    Save and close the file.
    Restart the application server or the J2EE instance.
    After you make the JAR files available, deploy the adapter on the Oracle application server by using either the Oracle Application Server (Oracle AS) Application Server Control (ASC) or the Oracle admintool.jar file. Copy the adapter archive file (BRM_home/apps/brm_integrations/jca_adapter/OracleBRMJCA15Adapter.rar) from the installation directory to a location that is accessible to the adapter deployment tool. You can then open and deploy the archive file on your application server.
    After successful deployment, return the applications.xml file to its original settings and add the oracle.bpel.common codesource to the BRM Adapter oc4j-ra.xml file:
    Open the Oracle_home/j2ee/Instance/config/applications.xml configuration file for the J2EE instance.
    Remove the following oracle.bpel.common entry (shown in bold below):
    <imported-shared-libraries>
    <import-shared-library name="adf.oracle.domain"/>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    Save and close the file.
    Open the JCA Resource Adapter oc4j-ra.xml file from the Oracle_home/j2ee/Instance/application-deployments/default/BRMAdapterDeploymentName directory.
    Add the oracle.bpel.common entry (shown in bold below) to the oc4j-connector-factories section of the file:
    <oc4j-connector-factories...>
    <imported-shared-libraries>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    <oc4j-connector-factories>
    Save and close the file.
    Restart the application server or the J2EE instance.
    For more information about deploying the adapter, see your application server’s documentation.
    Connecting the adapter to BRM in Oracle AS
    You connect the adapter to the BRM software by creating connection pools and connection factories. As part of the adapter deployment, the application server creates oc4j-ra.xml from the packaged ra.xml. The ra.xml file is located in the Oracle_home/j2ee/Instance/connectors/AdapterDeploymentName/AdapterDeploymentName/META-INF directory. For example, Oracle_home/j2ee/home/connectors/BRMAdapter/BRMAdapter/META-INF/ra.xml.
    Use the resource adapter home page from the Oracle AS ASC page to create connection pools and connection factories.
    Create your connection pool by following the performance and tuning guidelines in Configuring Connection Pooling in OC4J in Oracle Containers for J2EE Resource Adapter Administrator's Guide. See download.oracle.com/docs/cd/B31017_01/web.1013/b28956/conncont.htm.
    Make sure you set the pool’s Maximum Connections parameter (maxConnections XML entity) equal to or greater than the Oracle BPEL process manager’s dspMaxThreads parameter. For more information, see Oracle BPEL Process Manager Performance Tuning in Oracle Application Server Performance Guide for 10g Release 3 (10.1.3.1.0) at download.oracle.com/docs/cd/B31017_01/core.1013/b28942/tuning_bpel.htm.
    Note To set up JCA Resource Adapter transaction management in BPEL, you must create a private connection pool and set its Inactive Connection Timeout property (inactivity-timeout XML entity) to 0. See About JCA Resource Adapter transaction management in BPEL for more information.
    Create as many connection factories as your system needs. For each connection factory, specify the following:
    The JNDI location for the connection factory.
    The connection pool to use.
    How to connect to BRM by using these entries:
    Entry
    Description
    ConnectionString
    Specify the protocol, host name, and port number for connecting to the BRM software. For example: ip Server1 12006.
    DBNumber
    Specify the database number for the BRM database. For example, enter 1 or 0.0.0.1 for database 0.0.0.1.
    InputValidation
    Specifies whether to validate the input XMLRecord:
    True — The adapter validates the input XMLRecord against the opcode schema.
    False — The adapter does not validate the input XMLRecord.
    The default is False.
    This overrides any other validation parameter specified in the WSDL file.
    OutputValidation
    Specifies whether to validate the output XMLRecord:
    True — The adapter validates the output XMLRecord against the opcode schema.
    False — The adapter does not validate the output XMLRecord.
    The default is False.
    This overrides any other validation parameter specified in the WSDL file.
    LoginType
    Specifies the authentication method:
    1 — The adapter logs in to BRM by using the specified login name and password.
    0 — The adapter logs in to BRM by using the specified service type and POID ID.
    The default is 1.
    UserName
    Specifies the login name the adapter uses for logging in to the BRM software.
    Note This entry is required only if LoginType is set to 1.
    Password
    Specify the password the adapter uses for logging in to the BRM software.
    Note This entry is required only if LoginType is set to 1.
    PoidID
    Specifies the POID ID. This entry should be set to 1.
    ServiceType
    Specifies the service the adapter uses to log in to the BRM software.
    The default is /service/pcm_client.
    You have successfully configured the adapter to connect to BRM.

  • Local transaction support when BPEL invokes JCA adapter

    Hi all,
    I've implemented a BPEL process consisting of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS.
    My concern is to support local transactions. Here are some code snippets describing what I've done so far.
    Declare the transaction support at deployment time (ra.xml)
    <transaction-support>LocalTransaction</transaction-support>Implementer class of ManagedConnection interface
    public class MyManagedConnection implements ManagedConnection {
         public XAResource getXAResource() throws ResourceException {
             throw new NotSupportedException("XA Transactions not supported");
         public LocalTransaction getLocalTransaction() throws ResourceException {
             return new MyLocalTransaction(this);
            public void sendTheEvent(int eventType, Object connectionHandle) {
                 ConnectionEvent event = new ConnectionEvent(this, eventType);
                 if (connectionHandle != null) {
                    event.setConnectionHandle(connectionHandle);
                ConnectionEventListener listener = getEventListener();
             switch (eventType) {
              case ConnectionEvent.CONNECTION_CLOSED:
                   listener.connectionClosed(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_STARTED:
                   listener.localTransactionStarted(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_COMMITTED:
                   listener.localTransactionCommitted(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK:
                   listener.localTransactionRolledback(event); break;
              case ConnectionEvent.CONNECTION_ERROR_OCCURRED:
                   listener.connectionErrorOccurred(event); break;
              default: break;
    }Implementer class of LocalTransaction interface
    public class MyLocalTransaction implements javax.resource.spi.LocalTransaction {
         private MyManagedConnection mc = null;
         public MyLocalTransaction(MyManagedConnection mc) {
             this.mc = mc;
         @Overide
         public void begin() throws ResourceException {
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_STARTED, mc);
         @Override
         public void commit() throws ResourceException {
             eis.commit(); //eis specific method
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_COMMITTED, mc);
         @Override
         public void rollback() throws ResourceException {
             eis.rollback(); //eis specific method
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK, mc);
    }Uppon BPEL process completion, MyLocalTransaction.commit() is called. However, localTransactionCommitted(event) fails and I get the following error:
    Error committing transaction:; nested exception is: weblogic.transaction.nonxa.NonXAException: java.lang.IllegalStateException:
    [Connector:199175]This ManagedConnection is managed by container for its transactional behavior and has been enlisted to JTA transaction by container;
    application/adapter must not call the local transaction begin/commit/rollback API. Reject event LOCAL_TRANSACTION_COMMITTED from adapter.Could someone give me some directions to proceed ?
    My current installation consists of:
    1. Oracle SOA Suite / JDeveoper 11g (11.1.1.4.0),
    2. WebLogic Server 10.3.4
    Thank you for your time,
    George

    Hi Vlad, thank you again for your immediate response.
    With regards to your first comment. I already have been using logs, so I confirm that neither javax.resource.spi.LocalTransaction#begin() nor javax.resource.spi.LocalTransaction#commit()
    is called in the 2nd run.
    I think it might be helpful for our discussion if I give you the call trace for a successful (the first one) run.
    After I deploy my custom JCA Resource Adapter, I create a javax.resource.cci.ConnectionFactory through Oracle EM web application and the following methods are called:
    -- MyManagedConnectionFactory()
    (Constructor of the implementer class of the javax.resource.spi.ManagedConnectionFactory interface)
    -- javax.resource.spi.ManagedConnectionFactory#createManagedConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyManagedConnection()
    (Constructor of the implementer class of the javax.resource.spi.ManagedConnection interface)
    -- javax.resource.spi.ManagedConnection#addConnectionEventListener(javax.resource.spi.ConnectionEventListener)
    -- javax.resource.spi.ManagedConnection#getLocalTransaction()
    -- MySpiLocalTransaction(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.spi.LocalTransaction interface)
    -- javax.resource.spi.ManagedConnectionFactory#createConnectionFactory(javax.resource.spi.ConnectionManager)
    -- MyConnectionFactory(javax.resource.spi.ManagedConnectionFactory, javax.resource.spi.ConnectionManager)
    (Constructor of the implementer class of the javax.resource.cci.ConnectionFactory interface)BPEL process consists of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS. Client tester invokes BPEL process, and execution starts.
    Here is the method call trace for the last invoke (after which, commit is executed). The logs for all the rest invocations are identical:
    -- javax.resource.cci.ConnectionFactory#getConnection()
    -- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyConnection(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.cci.Connection interface)
    -- javax.resource.cci.Connection#close()
    (I don't understand why close() is called here, any idea ?)
    -- javax.resource.cci.ConnectionFactory#getConnection()
    -- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyConnection(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.cci.Connection interface)
    -- javax.resource.cci.Connection#createInteraction()
    -- MyInteraction(javax.resource.cci.Connection)
    (Constructor of the implementer class of the javax.resource.cci.Interaction interface)
    -- javax.resource.cci.Interaction#execute(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
    -- javax.resource.spi.LocalTransaction#commit()I would expect that after the last commit() - meaning that BPEL process is done, and its state is "Completed" - Weblogic server would call the following:
    javax.resource.cci.Connection#close()However it doesn't. Do I miss something ?

  • Problem while modifying sample adapter

    Hi
    I am trying to modify the sample adapter but am stuck with a problem. I am trying to create a connection to my data base (datasource.getconnection()) in place where the sample adapter creates fileoutputstream. But i get this error ;
    Catching com.sap.engine.services.dbpool.exceptions.BaseSQLException:
    ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResource
    Cannot open resource(Managed Connection) with LocalTransaction support or add a second one in the same transaction, for component "ejbContexts/sap.com/com.sap.aii.af.app/ModuleProcessorExitBean"
    --Please help

    Hi
    I am trying to modify the sample adapter but am stuck with a problem. I am trying to create a connection to my data base (datasource.getconnection()) in place where the sample adapter creates fileoutputstream. But i get this error ;
    Catching com.sap.engine.services.dbpool.exceptions.BaseSQLException:
    ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResource
    Cannot open resource(Managed Connection) with LocalTransaction support or add a second one in the same transaction, for component "ejbContexts/sap.com/com.sap.aii.af.app/ModuleProcessorExitBean"
    --Please help

  • Sample Adapter Migration from PI 7.0 to 7.1

    Hi All,
    i want to migrate the 7.0 Sample Adapter to 7.1. I followed the instructions written in the paper 
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d0667f56-96c7-2b10-0e9a-c40fbd523f4d
    But i get the following error message in the message-monitoring, after sending a xml:
    Message could not be forwarded to the JCA adapter. Reason: class com.sap.aii.af.sample.adapter.ra.XIMessageRecordImpl:sap.com/com.sap.aii.af.sample.adapter.ra @ com.sap.engine.boot.loader.ResourceMultiParentClassLoader @ 5ab9f6b4 @ alive incompatible with interface com.sap.engine.interfaces.messaging.api.Message:interface:com.sap.aii.af.ms.ifc @ com.sap.engine.boot.loader.ResourceMultiParentClassLoader @ 7d9ab9c5 @ alive
    Thanks in advance
    Regards Christoph

    This paper is intended to show, how the sample adapter 7.1 can be used to migrate a customer adapter 7.0 to 7.1
    It is not useful to help the migration of the sample adapter itself. For migration you have to compare sample adapter 7.0 and 7.1 to see the changes.
    Regards
    Stefan

  • JCA Polling Adapter not picking up records

    Hello All
    I have been trying to configure a JCA polling adapter to pick up records from the Database, the first time I configured it, it read a whole bunch of records. Now I have configured the following in the database and am getting no records being polling.
    1. Poll for new or changed records
    2. Update a field in the table F40g02 for logical delete
    3. Read value = READ, UNREAD value = UNREAD, Reserved value = RESERVED
    4.Polling interval 5 seconds, Database XROWS per xml document 1, Database Rows per Transaction 10
    I ran the SQL specified in the adapter and I get a record. Does anyone have any idea.
    I have seen this warning in the EM
    Database Adapter <oracle.tip.adapter.db.inbound.IPAddrPollingService getUniqueMarkReservedValue> The markReservedValue of distributed polling might not be a unique value.  To make it so, you can add the last x digits (default = 2) of the host IP address using this format for the MarkReservedValue: [original_val]${IP[-x]}
    Regards

    Hello
    The problem I am facing is I can't get the records that are processed (already READ) to not poll again despite the value being changed to the READ value configured, if I set the READ value in the configuration it will poll every record all the time despite the fact it is equal to the READ value.  Then if I set the READ value and any other value no records will poll.
    Consider 4 records in the DB (currently in test I have 431 but I have used distributed locking and ReturnSingleResultSet to limit it)
    ID = 1, STATUS = PROCESSED
    ID = 2, STATUS = UNPROCESSED
    ID = 3, STATUS = UNPROCESSED
    ID = 4, STATUS = OTHER
    Config 1: If READ = PROCESSED records 1,2,3,4 will poll
    Config 2: If READ = PROCESSED, UNREAD = UNPROCESSED no records will poll
    Config 3: If READ = PROCESSED, UNREAD = UNPROCESSED, RESERVED = OTHER no records will poll
    Config 4: If READ = PROCESSED and TOPLINK STATUS not equal string "PROCESSED" then records 1,2,3,4 will poll
    What I want is Record 2 and 3 to poll which I believe is config 3 should do. However I believe there have been some changes that relate to distributed polling for clusters in 11.1.1.3 onwards which means in jdeveloper (11.1.1.6) when I go to re-config the db adapter after setting the RESERVED value it disappears from the editor .
    JCA properties obviously with a MarkReservedValueand MarkUnreadValue column jumping in.depending on which config I am trying
          <property name="DescriptorName" value="dbPollBlockRecords.F40G02"/>
          <property name="QueryName" value="dbPollBlockRecordsSelect"/>
          <property name="MappingsMetaDataURL" value="dbPollBlockRecords-or-mappings.xml"/>
          <property name="PollingStrategy" value="LogicalDeletePollingStrategy"/>
          <property name="MarkReadColumn" value="STATUS"/>
          <property name="MarkReadValue" value="PROCESSED"/>
          <property name="PollingInterval" value="700"/>
          <property name="MaxRaiseSize" value="1"/>
          <property name="MaxTransactionSize" value="10"/>
          <property name="NumberOfThreads" value="1"/>
          <property name="ReturnSingleResultSet" value="true"/>   (This property has been manually configured, will unfortunately poll all records that match without it)
    Regards

  • JCA Inbound adapter error

    Hi everybody,
    I have an ESB project which reads a file from a folder and writes it into another folder. The issue is that sometimes it works ok, but some others the in adapter fails and I get this error:
    JCA inbound adapter service listener for "SUBIRA.INM.LeerCarpetaINM_RS.LeerINM" with endpoint ID "[LeerINM_ptt::LeerINM(opaque)]" has
    been requested to shutdown by Resource Adapter due to fatal error. Reason : ORABPEL-11004
    Error al publicar el mensaje.
    Se ha producido un error al publicar el mensaje del archivo C:\FTPINM\20070402221542_82AVC00001540.dat
    Compruebe la pila de errores y corrija la causa del error. Póngase en contacto con los Servicios de Soporte Oracle si no se puede
    corregir el error.
    Resuming it in english it would be: Error trying to publish the message. An error has occurred while publishing the file message. Check the error stack and fix it. Contact Oracle Support Services if you are not able to fix the error.
    This error appears randomly, I mean, I haven't change anything in the project. Any suggestions?

    Hi alex,
    Cause of problem
    Both OC4J running BPEL and the database adapter reached the maximum number of connections and were unable to establish new ones.
    The reason for the problem is a database adapter Bug 5595347.
    According to Bug 5595347, the database adapter might leave open connections behind.
    The fix for Bug 5595347 is included in Patch 5638122.
    Solution
    To implement the solution, please execute the following steps:
    Apply Patch 5638122.
    References
    Bug 5595347 - ORIONCMTCONNECTION NOT CLOSED IN ORABPEL~OC4J_BPEL~DEFAULT_ISLAND~1
    Note 314422.1 - Remote Diagnostic Agent (RDA) 4 - Getting Started
    Patch 5638122 - MERGE LABEL REQUEST ON TOP OF 10.1.2.0.2 FOR BUGS 5149866 5595347 5205630
    Cheers,
    Abhi...

  • Customizing JCA FTP Adapter properties in OSB

    Hi,
    I have requirement to read a file from one file system and write it on another file system.I have implemented this using jca FTP adapter in OSB.
    The read and write directory will be different across environments in which I need to deploy the project.
    The read and write directory info is present in the jca file as given below.
    <activation-spec className="oracle.tip.adapter.ftp.inbound.FTPActivationSpec">
    <property name="DeleteFile" value="true"/>
    <property name="MinimumAge" value="0"/>
    <property name="PhysicalDirectory" value="TEST/INPUT"/>
    <property name="Recursive" value="true"/>
    <property name="PollingFrequency" value="10"/>
    <property name="FileType" value="ascii"/>
    <property name="PhysicalArchiveDirectory" value="/PROJ/ARCHIVE"/>
    <property name="IncludeFiles" value=".*\..*"/>
    <property name="UseHeaders" value="false"/>
    </activation-spec>
    Is it possibel to cahnge this valueof <property name="PhysicalDirectory" value="TEST/INPUT"/> using customization files. From the OSB docs I undersatnd that only OSB predefined environment values can be changed using customization files.
    Thanks,
    Sai.

    Hi Prabu,
    The directory name is not appearing in the configuration of the services.
    I have specific reason for going with jca Adapter. Why writing the files to the destination if some failure happens ftp protocol may cause partially written files but I think JCA adapter will make sure either the file is completely transferred or not transferred at all.
    If this cannot be done in OSB I think I need to go for BPEL implementation where the config plan supports the replacement of JCA properties.
    Thanks,
    Sai.

  • Is XA transactions supported for the SOA Suite 10.1.3.4 on weblogic platfor

    There are 2 weblogic domains 1 & 2. Domain 1 hosts the JMS queue and domain 2 hosts the BPEL process. The BPEL process in domain 2 uses JMS adapter to get messages from domain 1. With queues on Weblogic domain 1, is XA transactions supported for the SOA suite 10.1.3.4 BPEL process JMS Adapter on weblogic domain 2?

    There are 2 weblogic domains 1 & 2. Domain 1 hosts the JMS queue and domain 2 hosts the BPEL process. The BPEL process in domain 2 uses JMS adapter to get messages from domain 1. With queues on Weblogic domain 1, is XA transactions supported for the SOA suite 10.1.3.4 BPEL process JMS Adapter on weblogic domain 2?

  • JCA DB Adapter pollinginterval in cluster

    Hi All,
    I have a JCA Adapter to poll DB table every 20 second. The JCA Adapter Invokes OSB proxy.
    The solution is deployed in weblogic cluster which has 2 nodes.
    what I noticed is that the polling interval is completely ignored and OSB proxy is invoked every 2 second.
    Below is my JCA file for your reference, can anyone let me know how to achieve 20 second polling in clustered environment with 2 nodes?
    =============JCA File
    <adapter-config name="atpoller" adapter="Database Adapter"
         wsdlLocation="atpoller.wsdl"
         xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
         <connection-factory location="amx.eis.db.au.crm.saDB"
              UIConnectionName="localcon" adapterRef="" />
         <endpoint-activation portType="atpoller_ptt"
              operation="receive">
              <activation-spec className="oracle.tip.adapter.db.DBActivationSpec">
                   <property name="DescriptorName" value="atpoller.PollerStarter" />
                   <property name="QueryName" value="atpollerSelect" />
                   <property name="MappingsMetaDataURL" value="atpoller-or-mappings.xml" />
                   <property name="PollingStrategy" value="DeletePollingStrategy" />
                   <property name="PollingInterval" value="20" />
                   <property name="MaxRaiseSize" value="1" />
                   <property name="MaxTransactionSize" value="1" />
                   <property name="NumberOfThreads" value="1" />
                   <property name="ReturnSingleResultSet" value="false" />
              </activation-spec>
         </endpoint-activation>
    </adapter-config>
    Thanks

    but, the deeply question is why if there are so many proxies that require to execute procedures , the connections never grow up.
    The question is how the DB Adapter works in a cluster environment. If it is doing some kind of balancing, why does it choose the managed server which is overload instead of use the DB Adapter and connections of the server which is currently working? or is it an abnormal behaviour?Now this behaviour can be understood only after getting the answer of below questions -
    1. What type of data-source are you using? Is it a Multi-datasource or generic DS?
    2. What is the transactional nature of data-source - XA or non-XA?
    3. What is the transactional nature and type of OSB proxy service? Is it publishing to business service or routing or using service callout?
    so the customer want know if they really need these numbers on the connection poolThere is no benchmark for connection pool setting and no one can guess it as well. It is a continuous process to tune the connection pool settings as per the load and it's behaviour over time. If currently, it is not even using the min number of connections available then your customer may simply reduce the number of min and max connections.
    Regards,
    Anuj

  • PI7.1 Sample Adapter

    I created a simple scenario utilizing sample adapter (JCA) to see how it works. It's PI7.1. The sender side works fine but i got this error message in the receiver side:
    Adapter Framework caught exception: Cannot lookup the ra connectionFactory. Reason: Path to object does not exist at sample_ra, the whole lookup name is deployedAdapters/sample_ra/shareable/sample_ra.
    Delivering the message to the application using connection JCA_http://sap.com/xi/XI/sample failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.Exception: Cannot lookup the ra connectionFactory. Reason: Path to object does not exist at sample_ra, the whole lookup name is deployedAdapters/sample_ra/shareable/sample_ra..
    Can anyone please help me to solve this?
    Thanks!

    Check with NW Administrator how the EJB modules are named in JNDI.
    Put the same name to the module parameter.
    Regards
    Stefan

  • OSB Error in deploying a project with jca file adapter

    Hi,
    I am facing an issue where I am getting an error when deploying a service from Eclipse. I am using OSB/SOA 11.1.1.5 2 node cluster. I have an OSB service where I am writing to a file and am using file adapater. I created a composite with file adapter to write a file then imported .jac, .wsdl and composite into eclipse and generated a business service out of .jca file. When I deploy the project from eclipse I am getting the below error and am not able to deploy the project.
    Conflicts found during publish.
    Invalid JCA transport endpoint configuration, exception: javax.resource.ResourceException: Cannot locate Java class oracle.tip.adapter.file.outbound.FileInteractionSpec
    Cannot locate Java class oracle.tip.adapter.file.outbound.FileInteractionSpec
    I have FileAdapter deployed and pointed to OSB manage servers cluster. Here is a snippet of config.xml.
    <app-deployment>
        <name>FileAdapter</name>
        <target>SOA_Cluster,OSB_Cluster</target>
        <module-type>rar</module-type>
        <source-path>/app/oracle/fmw/Oracle_SOA1/soa/connectors/FileAdapter.rar</source-path>
        <deployment-order>321</deployment-order>
        <plan-dir xsi:nil="true"></plan-dir>
        <plan-path>/app/oracle/shared/SOA_Cluster/dp/FileAdapterPlan.xml</plan-path>
        <security-dd-model>DDOnly</security-dd-model>
        <staging-mode>nostage</staging-mode>
      </app-deployment>
    Also inside console -> deployments  -> FileAdapter -> Targets and OSB_Cluster is checked also.
    Here is the .jca file
    <adapter-config name="writeFile" adapter="File Adapter" wsdlLocation="writeFile.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
      <connection-factory location="eis/HAFileAdapter"/>
      <endpoint-interaction portType="Write_ptt" operation="Write">
        <interaction-spec className="oracle.tip.adapter.file.outbound.FileInteractionSpec">
          <property name="PhysicalDirectory" value="C:\ORACLE"/>
          <property name="Append" value="false"/>
          <property name="FileNamingConvention" value="a_%SEQ%.doc"/>
          <property name="NumberMessages" value="1"/>
        </interaction-spec>
      </endpoint-interaction>
    </adapter-config>
    Any idea what might be wrong.
    Thanks.

    I already have the fileAdapter JNDI is already configured in console. The error I am getting is during the deployment
    Conflicts found during publish.
    Invalid JCA transport endpoint configuration, exception: javax.resource.ResourceException: Cannot locate Java class oracle.tip.adapter.file.outbound.FileInteractionSpec
    Cannot locate Java class oracle.tip.adapter.file.outbound.FileInteractionSpec
    Thanks

Maybe you are looking for

  • What's happening when I change tempo?

    I have some audio tracks that have been chopped into regions. The regions are butted up to one another. They are pieces from different tracks that have been put together. I noticed that if I change the tempo in the transport window, I end up either w

  • Reg. the Message Splitting on the Receiver side.

    Hi,        We are getting a Docuement/Message from a EDI partner. we need to split that doc. to send some of the data to the CRM system and rest of the data to the R3 system from the same EDI Doc. so is it possible to map the same EDI doc. to differn

  • Deletion indicator is missing in the infocube

    Hi, I have a value  k for filed (LOEKZ )deletion indicator in EKPO table but it is not getting extracted into Infocube. regards, kranthi

  • Trouble installing Mac OS X 10.3

    hi, im having trouble trying to install os x 10.3 on my emac. the trouble is it is saying i can install because of no previous os found. there are 3 os x cd's. cd 1 says its an upgrade/install cd, while disc 2 and disc 3 says install. is there any wa

  • What's with all the windows in compressor? can they be tied together?

    new to compressor... what's with all the windows in compressor? can they be tied together somehow?