Missing class: JCA Adapter

Hi!
I tried to insert a record in a database using Database Adapter and BPEL process and i got the next error:
<bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part
name="code"><code>null</code>
</part><part
name="summary"><summary>file:/opt/oracle/app/oracle/product/soa10.1.3.1/bpel/domains/default/tmp/.bpel_PruebaFlujo_1.2_19fece4afb1609f65136dfc5b9b2a17c.tmp/writeDB.wsdl
[ writeDB_ptt::merge(TrUsuarioCollection) ] - WSIF JCA Execute of
operation 'merge' failed due to: Adapter Framework unable to create
outbound JCA connection.
file:/opt/oracle/app/oracle/product/soa10.1.3.1/bpel/domains/default/tmp/.bpel_PruebaFlujo_1.2_19fece4afb1609f65136dfc5b9b2a17c.tmp/writeDB.wsdl
[ writeDB_ptt::merge(TrUsuarioCollection) ] - : The Adapter Framework
was unable to establish an outbound JCA connection due to the
following issue: ORABPEL-12529
ManagedConnectionFactory problem.
Could not instantiate ManagedConnectionFactory
oracle.tip.adapter.db.DBManagedConnectionFactory due to:
Missing class:
oracle.tip.adapter.db.DBManagedConnectionFactory
Dependent class: oracle.tip.adapter.fw.wsdl.WSDLUtils
Loader: oracle.bpel.common:10.1.3
Code-Source:
/opt/oracle/app/oracle/product/soa10.1.3.1/bpel/lib/orabpel.jar
Configuration: &lt;code-source> in
/opt/oracle/app/oracle/product/soa10.1.3.1/j2ee/home/config/server.xml
This load was initiated at orabpel.root:0.0.0 using the
Class.forName() method.
The missing class is not available from any code-source or loader in
the system.
Please make sure the corresponding JCA Resource Adapter has been deployed.
; nested exception is:
ORABPEL-12511
Adapter Framework unable to create outbound JCA connection.
file:/opt/oracle/app/oracle/product/soa10.1.3.1/bpel/domains/default/tmp/.bpel_PruebaFlujo_1.2_19fece4afb1609f65136dfc5b9b2a17c.tmp/writeDB.wsdl
[ writeDB_ptt::merge(TrUsuarioCollection) ] - : The Adapter Framework
was unable to establish an outbound JCA connection due to the
following issue: ORABPEL-12529
ManagedConnectionFactory problem.
Could not instantiate ManagedConnectionFactory
oracle.tip.adapter.db.DBManagedConnectionFactory due to:
Missing class:
oracle.tip.adapter.db.DBManagedConnectionFactory
Dependent class: oracle.tip.adapter.fw.wsdl.WSDLUtils
Loader: oracle.bpel.common:10.1.3
Code-Source:
/opt/oracle/app/oracle/product/soa10.1.3.1/bpel/lib/orabpel.jar
Configuration: &lt;code-source> in
/opt/oracle/app/oracle/product/soa10.1.3.1/j2ee/home/config/server.xml
This load was initiated at orabpel.root:0.0.0 using the
Class.forName() method.
The missing class is not available from any code-source or loader in
the system.
Please make sure the corresponding JCA Resource Adapter has been deployed.
Please examine the log file for any reasons. Enable DEBUG logging in
the BPEL Console.
</summary>
</part><part name="detail"><detail>null</detail>
</part></bindingFaultAny idea?

Hey
check your connection factories
make sure you have all the required libraries in your classpath
most probably that you are missing some libraried ..
give a try and see what happens ;)

Similar Messages

  • SFTP with FTP Adapter - Missing class: com.maverick.ssh.SshTransport

    Hi,
    I am trying to use the SFTP with FTP Adapter for a project requirement.
    I have followed the steps as mentioned in the below link
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/adptr_file.htm#CACDFFFB
    Have configured the oc4j_ra.xml file, but after creating a sample BPEL process with the FTP adapter, got this error message in the log file.
    <2010-04-12 11:21:16,493> <FATAL> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Uncaught exception oracle.classloader.util.AnnotatedNoClassDefFoundError in JCA-work-instance:FTP Adapter-4 - cause:
    Missing class: com.maverick.ssh.SshTransport
    Dependent class: oracle.tip.adapter.ftp.SshImpl.SshImplFactory
    Loader: FtpAdapter:0.0.0
    Code-Source: /D:/product/10.1.3.1/OracleAS_1/j2ee/home/connectors/FtpAdapter/FtpAdapter/ftpAdapter.jar
    Configuration: <code-source> in D:\product\10.1.3.1\OracleAS_1\j2ee\home\connectors\FtpAdapter\FtpAdapter
    The missing class is not available from any code-source or loader in the system.
    I tried getting a trial licencse for the maverick SSH tool from http://www.3sp.com/requestEvaluation.do?productCode=MAVERICK as discussed in one of the threads, but it redirects to http://www.barracudanetworks.com/ns/products/sslvpn_overview.php
    Could anyone please help in this?
    OR
    Provide steps on how to use SFTP with FTP Adapter.
    Regards,
    Varun

    Hi,
    Thanks for the reply.
    As per client's requirement, we shouldn't be using java service for this functionality.
    And as you said, the oracle adapters are not taking anywhere, but guess have no other choice..
    Cheers,
    Varun

  • Oracle AppsAdaptor causing Missing class error

    Hi
    Can any one help with the error we are encountering below. We have a production process that uses an Oracle Apps adaptor to call one of the supplied Oracle API's to insert data into the fnd_flex_values table from a BPEL process. Originally the adaptor was working but recently it stopped working when inserting records causing the errors below.
    <bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>file:/nas/orasoft/delta/product/10.1.3/soaas/bpel/domains/default/tmp/.bpel_InsertProjectCodesOracle_1.4_6f5863e8891810138c841b2d8fbe166b.tmp/InsertFlexValues.wsdl [ InsertFlexValues_ptt::InsertFlexValues(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'InsertFlexValues' failed due to: Could not instantiate InteractionSpec oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec due to:
    Missing class: oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec
    Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
    Loader: oracle.bpel.common:10.1.3
    Code-Source: /nas/orasoft/delta/product/10.1.3/soaas/bpel/lib/orabpel.jar
    Configuration: <code-source> in /nas/orasoft/delta/product/10.1.3/soaas/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
    oracle.classloader.util.AnnotatedClassNotFoundException:
    Missing class: oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec
    Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
    Loader: oracle.bpel.common:10.1.3
    Code-Source: /nas/orasoft/delta/product/10.1.3/soaas/bpel/lib/orabpel.jar
    Configuration: <code-source> in /nas/orasoft/delta/product/10.1.3/soaas/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
    org.collaxa.thirdparty.apache.wsif.WSIFException: Could not instantiate InteractionSpec oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec due to:
    Missing class: oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec
    Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
    Loader: oracle.bpel.common:10.1.3
    Code-Source: /nas/orasoft/delta/product/10.1.3/soaas/bpel/lib/orabpel.jar
    Configuration: <code-source> in /nas/orasoft/delta/product/10.1.3/soaas/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
    oracle.classloader.util.AnnotatedClassNotFoundException:
    Missing class: oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec
    Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
    Loader: oracle.bpel.common:10.1.3
    Code-Source: /nas/orasoft/delta/product/10.1.3/soaas/bpel/lib/orabpel.jar
    Configuration: <code-source> in /nas/orasoft/delta/product/10.1.3/soaas/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.</summary>
    </part><part name="detail"><detail>org.collaxa.thirdparty.apache.wsif.WSIFException: Could not instantiate InteractionSpec oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec due to:
    Missing class: oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec
    Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
    Loader: oracle.bpel.common:10.1.3
    Code-Source: /nas/orasoft/delta/product/10.1.3/soaas/bpel/lib/orabpel.jar
    Configuration: <code-source> in /nas/orasoft/delta/product/10.1.3/soaas/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
    oracle.classloader.util.AnnotatedClassNotFoundException:
    Missing class: oracle.tip.adapter.soa_erp.AppsStoredProcedureInteractionSpec
    Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
    Loader: oracle.bpel.common:10.1.3
    Code-Source: /nas/orasoft/delta/product/10.1.3/soaas/bpel/lib/orabpel.jar
    Configuration: <code-source> in /nas/orasoft/delta/product/10.1.3/soaas/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.</detail>
    </part></bindingFault>

    Hi,
    This issue occurs if any tag is missing in one of the following files
    oc4-ra.xml
    application.xml
    server.xml
    check manually in oc4j-ra.xml and server.xml if any tags are missing particularly <connector-factory> tag
    %ORACLE_HOME%\j2ee\oc4j_soa\application-deployments\default\ AppsAdapter\oc4j-ra.xml if any tag is missing.
    once modified restart oc4j server and test
    Regards,
    Deepa

  • Custom JCA Adapter / Application Error - Message.setErrorInfo() ??

    Hi All,
    I was looking for how to create a sensible Application Error in a custom JCA adapter and was excited to find the following page in the PCK info on Adapter Development:
    http://help.sap.com/saphelp_nw04/helpdata/en/3c/53d6409ff68631e10000000a1550b0/frameset.htm
    The part of interest being:
    <i>
    The following methods are available to enable you to read error information in the form of an ErrorInfo object from the message, or to set the error information in a message.
    Message.getErrorInfo()
    Message.setErrorInfo()
    If the synchronous response message is an application-error message instead of an application response, it must call setErrorInfo(myErrorInfo) for receiver adapters.</i>
    However, I can't find these methods, or indeed the "ErrorInfo" object anywhere in the AF classes - does anyone know it's whereabouts? Or is the above page just out of date? If so, what is the new approach for creating Application Level Errors in a custom JCA Resource adapter (not Exceptions - I can do that)
    Many thanks,
    Chris

    Well, you can get the latest jars from the SMP (Service Marketplace) directly.  These jars are in the <i>XI ADAPTER FRAMEWORK CORE 3.0</i> component.  Basically, http://service.sap.com/swdc  then Support Packages and Patches->SAP NetWeaver->SAP NETWEAVER->SAP NETWEAVER 04->Entry by Component->J2EE Adapter Engine (PI/XI).   There you'll see the XI ADAPTER FRAMEWORK CORE 3.0 link.
    OR here is the direct link for the SP19 (latest) of <a href="https://smpdl.sap-ag.de/~swdc/012002523100009492712006D/SAPXIAFC19P_4-20000272.sca?_ACTION=DL_DIRECT">SAPXIAFC19P_4-20000272.sca</a>
    Within this is <i>aii_af_lib.sda</i> which has the jars.  You can use winzip or winrar to open .sca, .sda files.
    Regards,
    Jin

  • How to send msgs to tuxedo and read from tuxedousing jca adapter at jboss6

    Hi i had only Tuxedo ip and port number.i have to send messsages to tuxedo server and read from tuxedo server i did below changes at ra.xml and dmconfig.xml
    what are the services i have to use plz give me reply .Thanks in advance.
    my ra.xml is
    <?xml version="1.0" encoding="UTF-8"?>
    <connector xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
    version="1.5">
    <display-name>Tuxedo JCA Adapter</display-name>
    <vendor-name>Oracle</vendor-name>
    <eis-type>Tuxedo</eis-type>
    <resourceadapter-version>11gR1(11.1.1.2.1)</resourceadapter-version>
    <license>
    <description>Tuxedo SALT license</description>
    <license-required>false</license-required>
    </license>
    <resourceadapter>
    <resourceadapter-class>com.oracle.tuxedo.adapter.TuxedoResourceAdapter</resourceadapter-class>
    <config-property>
    <config-property-name>traceLevel</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>80000</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>xaAffinity</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>keyFileName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <config-property-name>dmconfig</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>D:\jboss-6.1.0.Final\server\mpayv4_dev\deploy\dmconfig.xml</config-property-value>
    </config-property>
    <outbound-resourceadapter>
    <connection-definition>
    <managedconnectionfactory-class>com.oracle.tuxedo.adapter.spi.TuxedoManagedConnectionFactory</managedconnectionfactory-class>
    <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
    <connectionfactory-impl-class>com.oracle.tuxedo.adapter.cci.TuxedoConnectionFactory</connectionfactory-impl-class>
    <connection-interface>javax.resource.cci.Connection</connection-interface>
    <connection-impl-class>com.oracle.tuxedo.adapter.cci.TuxedoJCAConnection</connection-impl-class>
    </connection-definition>
    <transaction-support>NoTransaction</transaction-support>
    <authentication-mechanism>
    <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
    <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
    </authentication-mechanism>
    <reauthentication-support>false</reauthentication-support>
    </outbound-resourceadapter>
    </resourceadapter>
    </connector>
    ==========================
    and dmconfig.xml is
    <?xml version="1.0" encoding="UTF-8"?>
    <TuxedoConnector>
    <LocalAccessPoint name="local_1">
    <AccessPointId>dev_scurtis</AccessPointId>
    <NetworkAddress>//ip:port</NetworkAddress>
    </LocalAccessPoint>
    <RemoteAccessPoint name="e1tst_tdtux01">
    <AccessPointId>e1tst_tdtux01</AccessPointId>
    <NetworkAddress>//ip:port</NetworkAddress>
    </RemoteAccessPoint>
    <Import name="TOUPPER">
    <RemoteName>TOUPPER</RemoteName>
    <SessionName>session_1</SessionName>
    <LoadBalancing>RoundRobin</LoadBalancing>
    </Import>
    <Import name="ECHO">
    <RemoteName>ECHO</RemoteName>
    <SessionName>session_1</SessionName>
    <LoadBalancing>RoundRobin</LoadBalancing>
    </Import>
    </TuxedoConnector>

    Hi todd Thanks for your reply
    iam using below java code in jsp ,iam not getting the response plz suggest me any changes
    <%@ page import ="javax.naming.Context,
    javax.naming.InitialContext,
    javax.naming.NamingException,
    javax.ejb.CreateException,
    javax.resource.cci.ConnectionFactory,
    javax.resource.cci.Connection,
    javax.resource.cci.Interaction,
    javax.resource.cci.InteractionSpec,
    javax.resource.ResourceException,
    weblogic.wtc.jatmi.TPException,
    weblogic.wtc.jatmi.TPReplyException,
    com.oracle.tuxedo.adapter.TuxedoReplyException,
    com.oracle.tuxedo.adapter.cci.TuxedoStringRecord,
    com.oracle.tuxedo.adapter.cci.TuxedoInteractionSpec" %>
    <html>
    <head>
    </head>
    <body>
    <h1>Tuxedo Test</h1>
    <%
    System.out.println("Check Connection JNDI");
    String result="";
    result=Toupper("harikrishna");
    %>
    <%!
    public String Toupper(String string_to_convert) throws TPException, TuxedoReplyException
    Context ctx;
    ConnectionFactory cf;
    Connection c;
    Interaction ix;
    TuxedoStringRecord inRec;
    TuxedoStringRecord outRec;
    TuxedoInteractionSpec ixspec;
    try {
    ctx = new InitialContext();
    cf = (ConnectionFactory)ctx.lookup("java:jca/tuxedo");
    c = cf.getConnection();
    ix = c.createInteraction();
         ixspec = new TuxedoInteractionSpec();
         ixspec.setFunctionName("TOUPPER");
         ixspec.setInteractionVerb(InteractionSpec.SYNC_SEND_RECEIVE);
         inRec = new TuxedoStringRecord();
         outRec = new TuxedoStringRecord();
         inRec.setRecordName("MyInputData");
         outRec.setRecordName("MyOutputData");
         outRec.setString(string_to_convert);
         ix.execute(ixspec, inRec, outRec);
         ix.close();
         c.close();
         String returned_data = outRec.getString();
         return returned_data;
         catch (NamingException ne) {
         throw new TPException(TPException.TPESYSTEM,
         "Could not get TuxedoConnectionFactory"+ne);
         catch (ResourceException re) {
         throw new TPException(TPException.TPESYSTEM,
         "ResourceException occurred, reason: " + re);
    %>
    </body>
    </html>
    =======================================
    In tuxedo.lod at my jboo6/bin iam getting this informatin
    e property Security.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use ON_STARTUP to create default session profile property ConnectionPolicy.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use 60,000 to create default session profile property BlockTime.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use false to create default session profile property Interoperate.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use 60 to create default session profile property RetryInterval.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use 9,223,372,036,854,775,807 to create default session profile property MaxRetries.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use 2,147,483,647 to create default session profile property CompressionLimit.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use 0 to create default session profile property KeepAlive.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0188:INFO: Use 10,000 to create default session profile property KeepAliveWait.
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSessionProfile]TJA_0189:INFO: Default session profile created.
    4/30/12:2:59:09 AM:11:INFO[,]factory = null
    4/30/12:2:59:09 AM:11:INFO[,]name = TOUPPER
    4/30/12:2:59:09 AM:11:INFO[,]iname = TOUPPER
    4/30/12:2:59:09 AM:11:INFO[,]rsvc == null, create new ArrayList with key= TOUPPER
    4/30/12:2:59:09 AM:11:INFO[,]factory = null
    4/30/12:2:59:09 AM:11:INFO[,]name = ECHO
    4/30/12:2:59:09 AM:11:INFO[,]iname = ECHO
    4/30/12:2:59:09 AM:11:INFO[,]rsvc == null, create new ArrayList with key= ECHO
    4/30/12:2:59:09 AM:11:INFO[TuxedoAdapterSupervisor,createDefaultSession]TJA_0193:INFO: Default session created between LocalAccessPoint local_1 and RemoteAccessPoint e1tst_tdtux01.

  • Remote tuxedo domain rejects connection from client only Tuxedo JCA Adapter

    I am trying to use a client only configured Oracle Tuxedo JCA Adapter 11.1.1.2.1 to connect to a remote tuxedo 10.3 domain. The connector is deployed to a JDeveloper 10.1.3.4 embedded OC4J container. The connector is failing silently when attempting to establish a connection with the remote domain. Locally, the JCA Adapter ntrace logs the following:
    1/20/11:9:41:49 PM:10:TRACE[DMLocalAccessPoint,DMLocalAccessPoint]> (ypjspNQ5QIPKmOyk1DlAgw==)
    1/20/11:9:41:49 PM:10:DBG[DMLocalAccessPoint,DMLocalAccessPoint]_useSSL = false
    1/20/11:9:41:49 PM:10:TRACE[DMLocalAccessPoint,DMLocalAccessPoint]< return(10)
    1/20/11:9:41:49 PM:10:INFO[TuxedoAdapterSupervisor,createLocalAccessPoint]TJA_0233:Info: Default local access point for factory null created, access point id ypjspNQ5QIPKmOyk1DlAgw==.
    1/20/11:9:41:49 PM:10:DBG[TuxedoAdapterSupervisor,createLocalAccessPoint]features = 159
    1/20/11:9:41:49 PM:10:TRACE[TuxedoAdapterSupervisor,startListeners]> ()
    1/20/11:9:41:49 PM:10:TRACE[TuxedoAdapterSupervisor,startListeners]< (20) return
    1/20/11:9:41:49 PM:10:TRACE[DMSession,DMSession]> (__sess_0_0)
    1/20/11:9:41:49 PM:10:DBG[DMSession,myInit]_lap_name:ypjspNQ5QIPKmOyk1DlAgw==
    1/20/11:9:41:49 PM:10:DBG[DMSession,myInit]_rap_name:e1tst_tdtux02
    1/20/11:9:41:49 PM:10:DBG[DMSession,myInit]_pro_name:__default_session_profile__
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]got _lap: com.oracle.tuxedo.adapter.config.DMLocalAccessPoint@1f6bc1a
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]got _rap: com.oracle.tuxedo.adapter.config.DMRemoteAccessPoint@1b75e54
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]got _pro: com.oracle.tuxedo.adapter.config.DMSessionProfile@191f64b
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]sec = NONE
    1/20/11:9:41:49 PM:10:TRACE[DMSession,DMSession]< return(60)
    1/20/11:9:41:49 PM:10:INFO[TuxedoAdapterSupervisor,createDefaultSession]TJA_0193:INFO: Default session created between LocalAccessPoint ypjspNQ5QIPKmOyk1DlAgw== and RemoteAccessPoint e1tst_tdtux02.
    1/20/11:9:41:49 PM:10:TRACE[DMSession,DMSession]> (__sess_0_1)
    1/20/11:9:41:49 PM:10:DBG[DMSession,myInit]_lap_name:ypjspNQ5QIPKmOyk1DlAgw==
    1/20/11:9:41:49 PM:10:DBG[DMSession,myInit]_rap_name:e1tst_tdtux01
    1/20/11:9:41:49 PM:10:DBG[DMSession,myInit]_pro_name:__default_session_profile__
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]got _lap: com.oracle.tuxedo.adapter.config.DMLocalAccessPoint@1f6bc1a
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]got _rap: com.oracle.tuxedo.adapter.config.DMRemoteAccessPoint@1c0f654
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]got _pro: com.oracle.tuxedo.adapter.config.DMSessionProfile@191f64b
    1/20/11:9:41:49 PM:10:DBG[DMSession,DMSession]sec = NONE
    1/20/11:9:41:49 PM:10:TRACE[DMSession,DMSession]< return(60)
    1/20/11:9:41:49 PM:10:INFO[TuxedoAdapterSupervisor,createDefaultSession]TJA_0193:INFO: Default session created between LocalAccessPoint ypjspNQ5QIPKmOyk1DlAgw== and RemoteAccessPoint e1tst_tdtux01.
    1/20/11:9:41:49 PM:10:TRACE[TuxedoAdapterSupervisor,registerClientSideResourceAdapter]create default import
    1/20/11:9:41:49 PM:10:TRACE[ServiceManager,registerImportedService]> (*)
    1/20/11:9:41:49 PM:10:INFO[,]factory = null
    1/20/11:9:41:49 PM:10:INFO[,]name = *
    1/20/11:9:41:49 PM:10:INFO[,]iname = *
    1/20/11:9:41:49 PM:10:TRACE[ServiceManager,registerImportedService]register Default Import
    1/20/11:9:41:49 PM:10:TRACE[Route,Route]> (*)
    I can't determine if there are any problems from these log entries, but the remote tuxedo domain logs the following in the ULOG:
    155138.tdtux01!GWTDOMAIN.3495.4.0: LIBGWT_CAT:1073: ERROR: Unable to obtain remote domain id (ypjspNQ5QIPKmOyk1DlAgw==) information from shared memory
    155138.tdtux01!GWTDOMAIN.3495.4.0: LIBGWT_CAT:1509: ERROR: Error occurred during security negotiation - closing connection
    My understanding is that the client only configuration should connect to a remote tuxedo domain as an anonymous client instead of a peer tuxedo domain, but the remote tuxedo gateway domain listener is acting like the client has to be configured in its dmconfig file before it will allow the connection request. Is there a different kind of listener the client only configuration should connect to instead of the tuxedo gateway domain listener? How can a remote tuxedo domain accept a connection from an anonymous client if the client must first be specified in the remote domain's dmconfig file? Is this a tuxedo 11g only feature? I'm trying to connect to a tuxedo 10.3 server.
    The local ra.xml is reproduced here:
    <?xml version="1.0" encoding="UTF-8"?>
    <connector xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
    version="1.5">
    <display-name>Tuxedo JCA Adapter</display-name>
    <vendor-name>Oracle</vendor-name>
    <eis-type>Tuxedo</eis-type>
    <resourceadapter-version>11gR1(11.1.1.2.1)</resourceadapter-version>
    <license>
    <description>Tuxedo SALT license</description>
    <license-required>false</license-required>
    </license>
    <resourceadapter>
    <resourceadapter-class>com.oracle.tuxedo.adapter.TuxedoClientSideResourceAdapter</resourceadapter-class>
    <config-property>
    <config-property-name>debugConfig</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>traceLevel</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>100000</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>xaAffinity</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>remoteAccessPointSpec</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>//tdtux01:9601/domainId=e1tst_tdtux01,//tdtux02:9601/domainId=e1tst_tdtux02</config-property-value>
    </config-property>
    <outbound-resourceadapter>
    <connection-definition>
    <managedconnectionfactory-class>com.oracle.tuxedo.adapter.spi.TuxedoManagedConnectionFactory</managedconnectionfactory-class>
    <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
    <connectionfactory-impl-class>com.oracle.tuxedo.adapter.cci.TuxedoConnectionFactory</connectionfactory-impl-class>
    <connection-interface>javax.resource.cci.Connection</connection-interface>
    <connection-impl-class>com.oracle.tuxedo.adapter.cci.TuxedoJCAConnection</connection-impl-class>
    </connection-definition>
    <transaction-support>NoTransaction</transaction-support>
    <authentication-mechanism>
    <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
    <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
    </authentication-mechanism>
    <reauthentication-support>false</reauthentication-support>
    </outbound-resourceadapter>
    </resourceadapter>
    </connector>
    Thanks for any help.
    Steve

    Looks like this is an RTFM question. From:
    [http://download.oracle.com/docs/cd/E18050_01/jca/docs11gr1/users/jca_usersguide.html]
    Is the following:
    Dynamic RemoteAccessPoint (RAP) Insertion
    In order to make default LocalAccessPoint to work, Oracle Tuxedo GWTDOMAIN gateway configuration is required in order to make this simplified /Domain configuration to work.
    GWTDOMAIN gateway must be modified to allow Dynamic RemoteAccessPoint (RAP) Registration. If DYNAMIC_RAP is set to YES, it will also update the in-memory database of the status of the connection from those dynamically registered RAP. If the connection from those dynamically registered RAP lost then the information about that RAP will be removed from the SHM database.
    GWADM must be modified to process the DM MIB correctly to reflect the connection status of those dynamically registered RAP. When the connection from those dynamically registered RAP lost their entries in the SHM database will also be removed so that the DM MIB query can return the connection status correctly.
    The dynamically registered RAP will be added to /DOMAIN configuration permanently. Their existence will only be known when the Session is established. Their existence will be lost when the connection is lost.
    The DM_CONNECTION Oracle Tuxedo /Domain DMIB call returns all the connected dynamically registered RemoteAccessPoint. All other dynamically registered RemoteAccessPoint that are not connected will not be shown.
    The OPENCONNECTION DMIB request will not be supported to connect to those dynamically registered RAP.
    The CLOSECONNECTION Oracle Tuxedo /DMIB request closes the connection and remove the session from those dynamically registered RemoteAccessPoint, and returns its connection status as 'UNKNOWN.
    The PERSISTENT_DISCONNECT type of CONNECTION_POLICY will be honored that means when PERSISTENT_DISCONNECT is in effect all connections request from any RAP, whether they are dynamically or non-dynamically registered, will be rejected.
    I must have overlooked this section when reading it. Looks like I've got more configuration to do.
    Thanks,
    Steve

  • JCA adapter with Spring JCA CCI

    Using Tuxedo JCA adapter (12.1.1) on Java 1.6_20 and Spring 3.2.0.....
    Want to get the Tuxedo adapter going outside a container in Spring via the Spring JCA CCI (http://static.springsource.org/spring/docs/3.2.0.M2/reference/html/cci.html). Not much experience with JCA but got the basic idea.
    The resource adapter is the glue for the domain configuration, debug levels and so forth. Started by using the TuxedoClientSideResourceAdapter and registering it to the TuxedoAdapterSupervisor singleton that is used by the TuxedoManagedConnectionFactory. Spring JCA CCI represents the local connection factory inside the LocalConnectionFactoryBean which needs the TuxedoConnectionFactory built by the TuxedoManagedConnectionFactory:
            @Bean
         public TuxedoManagedConnectionFactory tuxedoManagedConnectionFactory() {
              TuxedoClientSideResourceAdapter ra = new TuxedoClientSideResourceAdapter();
              .... (set ra all debugs to true)
              ra.setTraceLevel("100000");
              ra.setLocalAccessPointSpec("//INV000000121176:7001/domainId=matthew");
              ra.setRemoteAccessPointSpec("//vsgtu817.sfa.se:48172/domainId=TR817TU");
              try {
                   TuxedoAdapterSupervisor.getInstance().registerClientSideResourceAdapter(ra);
              } catch (ResourceAdapterInternalException e) {
                   System.out.println("Big problem setting resource adapter");
              TuxedoManagedConnectionFactory mcf = new TuxedoManagedConnectionFactory();
              return mcf;
            @Bean
         public ConnectionFactory tuxedoConnectionFactory() {
              LocalConnectionFactoryBean cf = new LocalConnectionFactoryBean();
              cf.setManagedConnectionFactory(tuxedoManagedConnectionFactory());
              try {
                   cf.afterPropertiesSet();
              } catch (ResourceException e) {
                   System.out.println("Big problem after setting properties");
              return (ConnectionFactory) cf.getObject();
         }What I am baffled by is that the tracing isn't getting hundred percent. For example I get:
    INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1fe1feb: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,applicationConfig,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor,tuxedoManagedConnectionFactory,tuxedoConnectionFactory,tuxedoTransactionManager,tuxedoTemplate,tuxedoDAO]; root of factory hierarchy
    2012-10-18:14:16:03:10:INFO[TuxedoAdapterSupervisor,registerClientSideResourceAdapter]TJA_0220:Tuxedo JCA Adapter, release 12c(12.1.1), resource archive version 1.4.0.0, build date: June 27 2012.
    2012-10-18:14:16:03:10:ERROR[TJAService,TJAService]TJA_0072:Naming exception error: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
    2012-10-18:14:16:03:10:INFO[TuxedoAdapterSupervisor,createRemoteAccessPoints#2]TJA_0201:INFO: RemoteAccessPoint TR817TU created.Expected to see more detailed information about what is going on in the TJASerivce when setting up the context. Which isn't happening due to how I am not correctly rigging Spring. So how to get tracing/debug working? Or can it be that printing via the JUL logger isn't working. Got in my logging.properties file FINEST on everything oracle and weblogic.
    Love to see if anybody has built up JCA outside a container!?

    Little bit farther in my configuration but not the entire way. Using the TuxedoClientSideResourceAdapter resource adapter. Setup in Spring as follows:
         @Bean
         ResourceAdapterFactoryBean tuxedoResourceAdapter() {
              TuxedoClientSideResourceAdapter ra = new TuxedoClientSideResourceAdapter();
              ra.setLocalAccessPointSpec("//INV000000121176:7001/domainId=matthew");
              ra.setRemoteAccessPointSpec("//vsgtu817.sfa.se:48172/domainId=TR817TU");
              .... (set debug, timeout, local/remote stuff....)
              ResourceAdapterFactoryBean fc = new ResourceAdapterFactoryBean();
              fc.setResourceAdapter(ra);
              SimpleTaskWorkManager stwm = new SimpleTaskWorkManager(); // basic WM from Spring
              fc.setWorkManager(stwm);
              fc.setBootstrapContext(new SimpleBootstrapContext(stwm));  // basic Context from Spring
              return fc;
         @Bean
         public ManagedConnectionFactory tuxedoManagedConnectionFactory() {
              return new TuxedoManagedConnectionFactory();
         @Bean
         public LocalConnectionFactoryBean tuxedoConnectionFactoryBean() {
              LocalConnectionFactoryBean lcfb = new LocalConnectionFactoryBean();
              lcfb.setManagedConnectionFactory(tuxedoManagedConnectionFactory());
              return lcfb;
         @Bean
         public ConnectionFactory tuxedoConnectionFactory() {
              return (ConnectionFactory) tuxedoConnectionFactoryBean().getObject();
         @Bean
         public CciTemplate tuxedoCciTemplate() {
              CciTemplate ct = new CciTemplate();
              ct.setConnectionFactory(tuxedoConnectionFactory());
              return ct;
         }There is a bunch of Spring stuff mixed in but the main idea is to wrap the Connection Factory in a template bean (CciTemplate) that eats a Tuxedo interaction specification and handles the start/stop of the connection plus execution. Nowhere in the configuration are resources or the local/remote resource sessions identified. The Oracle documentation says that with the client side the container is responsible for defining resources. Great. How? ;-) Tried doing it by hand:
         @Autowired
         CciTemplate template;
         @Test
         public void pieces() throws ResourceException, TPReplyException, TPException {
              TuxedoConnectionFactory tcf = (TuxedoConnectionFactory)template.getConnectionFactory();
              Connection con = ConnectionFactoryUtils.getConnection(template.getConnectionFactory(), template.getConnectionSpec());
              DMImportBean impBean = new DMImportBean();
              impBean.setRemoteName("whatever");
              impBean.setResourceName("whatever");
              impBean.setSessionName(new String[] {"TR817TU"});
              ConfigurationManager.getInstance().activateImport(impBean, tcf.getFactoryName());
              TDomainContext ctx = ((TuxedoJCAConnection)con).getTDomainContext();
              ctx.tpcall("whatever", recordIn.getTypedBuffer(), flags);
         }The code fails on a NullPointer to getProviderRoute in the TuxedoConnectionImpl. Just wondering if I am on the right track?

  • How do I call a JCA Adapter from a Java Client?

    I was able to call an EJB that I deployed on the OC4J server from a client that sat outside the OC4J server. I am now trying to use a similar client for the jca adapter but I keep getting errors. I'm trying to use the adapter to send XML by calling the execute method in the cciInteraction class? Can I simply create a client as I am doing, capture the adapter and call a class contained in it? What am I getting this error below?
    Mike
    Code
    package milo;
    import com.ariba.asc.jcaadapter.CCIConnection;
    import com.sun.corba.se.impl.javax.rmi.PortableRemoteObject;
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import com.ariba.asc.jcaadapter.sample.ra.OutboundClientInteraction;
    import javax.activation.DataSource;
    import javax.annotation.Resource;
    import javax.jms.ConnectionFactory;
    public class ResourceAdapterClient {
    public static void main(String [] args) {
    try {
    Context initialContext = getInitialContext();
    javax.resource.cci.ConnectionFactory cf = (javax.resource.cci.ConnectionFactory)initialContext.lookup("eis/jca/standaloneEIS");
    } catch (Exception ex) {
    ex.printStackTrace();
    private static Context getInitialContext() throws NamingException {
    Hashtable env = new Hashtable();
    // Standalone OC4J connection details
    env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory" );
    env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" );
    env.put( Context.SECURITY_CREDENTIALS, "oc4jadmin" );
    env.put(Context.PROVIDER_URL, "ormi://ga011hds.unix.us.ups.com:12401/EAR");
    return new InitialContext( env );
    Error:
    Apr 16, 2010 4:21:12 PM oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
    WARNING: Exception returned by remote server: {0}
    java.lang.ExceptionInInitializerError
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:242)
         at com.evermind.io.ClassLoaderObjectInputStream.resolveClass(ClassLoaderObjectInputStream.java:58)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
         at com.evermind.server.rmi.RMIClientConnection.handleLookupResponse(RMIClientConnection.java:948)
         at com.evermind.server.rmi.RMIClientConnection.handleOrmiCommandResponse(RMIClientConnection.java:349)
         at com.evermind.server.rmi.RMIClientConnection.dispatchResponse(RMIClientConnection.java:305)
         at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RMIClientConnection.java:287)
         at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:157)
         at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:131)
         at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.IllegalStateException: The Adapter specific implementation configuration is not initialized
         at com.ariba.asc.jcaadapter.impl.AdapterImplManager.getAdapterImplConfiguration(AdapterImplManager.java:232)
         at com.ariba.asc.connector.log.LogManager.initFactory(LogManager.java:40)
         at com.ariba.asc.connector.log.LogManager.getLogger(LogManager.java:33)
         at com.ariba.asc.jcaadapter.CCIConnectionFactory.<clinit>(CCIConnectionFactory.java:46)
         ... 17 more
    javax.naming.NamingException: Lookup error: javax.naming.NamingException [Root exception is java.lang.ExceptionInInitializerError]; nested exception is:
         javax.naming.NamingException [Root exception is java.lang.ExceptionInInitializerError] [Root exception is javax.naming.NamingException [Root exception is java.lang.ExceptionInInitializerError]]
         at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:72)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at milo.SessionEJBClient.main(SessionEJBClient.java:30)
    Caused by: javax.naming.NamingException [Root exception is java.lang.ExceptionInInitializerError]
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:100)
         at com.evermind.server.rmi.RMIClientConnection.waitForJndiResponse(RMIClientConnection.java:442)
         at com.evermind.server.rmi.RMIClientConnection.lookup(RMIClientConnection.java:236)
         at com.evermind.server.rmi.RMIClient.lookup(RMIClient.java:302)
         at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:59)
         ... 2 more
    Caused by: java.lang.ExceptionInInitializerError
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:242)
         at com.evermind.io.ClassLoaderObjectInputStream.resolveClass(ClassLoaderObjectInputStream.java:58)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
         at com.evermind.server.rmi.RMIClientConnection.handleLookupResponse(RMIClientConnection.java:948)
         at com.evermind.server.rmi.RMIClientConnection.handleOrmiCommandResponse(RMIClientConnection.java:349)
         at com.evermind.server.rmi.RMIClientConnection.dispatchResponse(RMIClientConnection.java:305)
         at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RMIClientConnection.java:287)
         at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:157)
         at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:131)
         at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
         at java.lang.Thread.run(Thread.java:595)
         at com.evermind.server.rmi.RMICall.warningExceptionOriginatesFromTheRemoteServer(RMICall.java:109)
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:91)
         ... 6 more
    Caused by: java.lang.IllegalStateException: The Adapter specific implementation configuration is not initialized
         at com.ariba.asc.jcaadapter.impl.AdapterImplManager.getAdapterImplConfiguration(AdapterImplManager.java:232)
         at com.ariba.asc.connector.log.LogManager.initFactory(LogManager.java:40)
         at com.ariba.asc.connector.log.LogManager.getLogger(LogManager.java:33)
         at com.ariba.asc.jcaadapter.CCIConnectionFactory.<clinit>(CCIConnectionFactory.java:46)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:242)
         at com.evermind.io.ClassLoaderObjectInputStream.resolveClass(ClassLoaderObjectInputStream.java:58)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
         at com.evermind.server.rmi.RMIClientConnection.handleLookupResponse(RMIClientConnection.java:948)
         at com.evermind.server.rmi.RMIClientConnection.handleOrmiCommandResponse(RMIClientConnection.java:349)
         at com.evermind.server.rmi.RMIClientConnection.dispatchResponse(RMIClientConnection.java:305)
         at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RMIClientConnection.java:287)
         at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:157)
         at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:131)
         at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
         at java.lang.Thread.run(Thread.java:595)
    Process exited with exit code 0.

    Can anyone help?
    Mike

  • JCA adapter for MySQL or databases

    Hi,
    does anyone knows where to get an free/open source JCA adapter for MySQL or databases?
    Juraj

    I remember extending the ResourceAdapter helper classes from IBM's websphere server.
    In most cases your application server would provide a generic class that you extend to add support for more databases.
    In weblogic the resourceadapter deployed on the server includes support for mysql already and so is the case for JBoss.
    If you are using any other server, then try to see how JBoss have implemented their resourceadapter...ResourceAdapters are deployed on the app server as RAR files

  • How do I run a JCA adapter when I am calling it from an EJB?

    How do I run a JCA adapter when I am calling it from an EJB? Do I need to create an EJB client and place it in a Client container? If my EJB and JCA adapter are deployed is there a way to call my EJB from the command line?
    Mike

    Hi. When you look at the code I provided for you in other thread you will see that connecting to adapter is done through JNDI lookup. The creation of the adapter is done in your J2EE server. Here is some code for you where you can find mapping from code to ejb-jar and orion-ejb-jar.
    ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
    version="2.1">
    <!--
    This file declares the interface (needs/promises) of the message-driven bean.
    The MDB requires:
    - a JMS queue (to receive messages from the client),
    - a JMS exception queue (to send undeliverable messages back to the source), and
    - a connection factory (to communicate with a JMS resource provider).
    Note that communication with the resource provider may be (and for this
    application is) via a JMS Connector rather than direct.
    -->
    <display-name>JMS Consume MDB - opp-ifs</display-name>
    <enterprise-beans>
    <entity>
    <description>Entity Bean ( BMP )</description>
    <display-name>EBEjbMecomsIFS</display-name>
    <ejb-name>EBEjbMecomsIFS</ejb-name>
    <local-home>EBEjbMecomsIFSLocalHome</local-home>
    <local>EBEjbMecomsIFSLocal</local>
    <ejb-class>EBEjbMecomsIFSBean</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>false</reentrant>
    <service-ref>
    <service-ref-name>service/interceptor</service-ref-name>
    <service-interface>javax.xml.rpc.Service</service-interface>
    <wsdl-file>META-INF/wsdl/MHS5_Jms_In_RS.wsdl</wsdl-file>
    <service-qname xmlns:ns="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5">ns:ESB_MHS5_Jms_In_RS_Service</service-qname>
    </service-ref>
    </entity>
    <message-driven>
    <display-name>JMS Consume MDB - MDB</display-name>
    <ejb-name>MDBEjbMecomsIFS</ejb-name>
    <!-- name of bean in deployment descriptor (including orion-ejb-jar.xml file) -->
    <ejb-class>MDBEjbMecomsIFSBean</ejb-class>
    <!-- bean's fully qualified Java class name -->
    <messaging-type>javax.jms.MessageListener</messaging-type>
    <transaction-type>Container</transaction-type>
    <!-- allow incoming messages to be included in transactions -->
    <!-- The ejb requires a connection factory to access an external resource (JMS). -->
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/EBEjbopp_ifs</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>EBEjbMecomsIFSLocalHome</local-home>
    <local>EBEjbMecomsIFSLocal</local>
    <ejb-link>EBEjbMecomsIFS</ejb-link>
    </ejb-local-ref>
    <resource-ref>
    <!-- The resource's connection factory must be accessible at jndi location "java:comp/env/jms/QueueConnectionFactory". -->
    <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
    <!-- The resource's connection factory must implement the "javax.jms.ConnectionFactory" interface. -->
    <res-type>javax.jms.ConnectionFactory</res-type>
    <!-- container managed authorization -->
    <res-auth>Container</res-auth>
    </resource-ref>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <!--
    Declare that a global transaction is required when the onMessage method of the ejb named
    "MDBEjbName" is called. This will cause the app server to automatically initiate a
    global (XA) transaction before calling onMessage (actually, before even receiving the JMS
    message that triggers onMessage) and end the transaction after onMessage returns. The
    JMS Connector will automatically rollback the transaction if onMessage throws an
    exception. onMessage may also set the transaction to be "rollback only".
    Participating in global transactions requires that the connection factory provided in the
    activation spec (see the ConnectionFactoryJndiName property earlier in this file) must be
    XA-capable (it must implement the javax.jms.XAConnectionFactory interface).
    If this declaration is ommitted, then onMethod will not be part of any global
    transaction. In that case the connection factory provided in the activation spec must
    implement the javax.jms.ConnectionFactory interface.
    -->
    <container-transaction>
    <method>
    <ejb-name>MDBEjbMecomsIFS</ejb-name>
    <method-name>onMessage</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    <method>
    <ejb-name>EBEjbMecomsIFS</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Supports</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    orion-ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <orion-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNameSpaceSchemaLocation="http://www.oracle.com/technology/oracleas/schema/orion-ejb-jar-10_0.xsd">
    <enterprise-beans>
    <entity-deployment name="EBEjbMecomsIFS">
    <service-ref-mapping name="service/interceptor">
    <wsdl-location>http://on-poc62.ontw.alfa.local:7777/event/PilotOWSM/MustHavesScenario5/MHS5_Jms_In_RS?wsdl</wsdl-location>
    <service-qname localpart="ESB_MHS5_Jms_In_RS_Service" namespaceURI="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5"/>
    <port-info>
    <wsdl-port namespaceURI="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5"
    localpart="__soap_MHS5_Jms_In_RS_execute_ppt"/>
    <service-endpoint-interface>javax.xml.rpc.Service</service-endpoint-interface>
    <call-property>
    <name>javax.xml.rpc.service.endpoint.address</name>
    <value>http://on-poc62.ontw.alfa.local:7777/event/PilotOWSM/MustHavesScenario5/MHS5_Jms_In_RS</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.http.soapaction.uri</name>
    <value>execute</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.http.soapaction.use</name>
    <value>true</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.operation.style</name>
    <value>document</value>
    </call-property>
    <runtime enabled="owsm">
    <owsm init-home="/oracle/product/SoaAs/10.1.3/owsm/config/interceptors/C0003002"
    init-file="confluent.properties"/>
    </runtime>
    </port-info>
    </service-ref-mapping>
    </entity-deployment>
    <message-driven-deployment name="MDBEjbMecomsIFS"
    resource-adapter="OEMSJMSDRAopp-ifs"
    enabled="true" max-instances="10">
    <!--
    The ejb requires a connection factory implementing the "javax.jms.XAConnectionFactory"
    interface to be accessible at jndi location "java:comp/env/jms/QueueConnectionFactory". (see ejb-jar.xml and ....)
    A suitable connection factory is already accessible at jndi location "OEMSJMSDRASubcontext/MyXACF" (see oc4j-ra.xml)
    -->
    <resource-ref-mapping location="OEMSJMSDRASubopp-ifs/MyXACF"
    name="jms/QueueConnectionFactory"/>
    <!-- don't misspell this or you'll get an RP CF which doesn't work -->
    <!-- Required activation-spec properties. -->
    <!--
    ConnectionFactoryJndiName (string, no default)
    This should be the JNDI location of an RA connection factory.
    The JMS Connector will use this connection factory to create the JMS
    connection it uses to receive messages for this MDB's onMessage. If the
    exception queue is enabled (see UseExceptionQueue), the JMS Connector will
    also use a connection created from this connection factory for the production
    of messages to the exception queue.
    This connection factory must be compatible with the message domain(s). (For
    example, if the MDB is receiving messages from a queue, the connection
    factory should implement javax.jms.[XA]QueueConnectionFactory or
    javx.jms.[XA]ConnectionFactory.)
    For XA/non-XA considerations, see the <container-transaction> comments later
    in this file.
    -->
    <config-property>
    <config-property-name>ConnectionFactoryJndiName</config-property-name>
    <config-property-value>OEMSJMSDRASubopp-ifs/MyXAQCF</config-property-value>
    </config-property>
    <!--
    DestinationName (string, no default)
    This is JNDI location of the queue or topic from which messages to be
    delivered to the MDB's onMessage method should be received.
    The JNDI locations for RA destinations are defined in the
    oc4j-connectors.xml file.
    -->
    <config-property>
    <config-property-name>DestinationName</config-property-name>
    <config-property-value>OEMSJMSDRASubopp-ifs/MyQ</config-property-value>
    </config-property>
    <!--
    DestinationType (string, no default)
    This must be set to the type of the destination named by the above
    "DestinationName" property.
    The EJB 2.1 spec states that this must be set to either javax.jms.Queue or
    javax.jms.Topic. OracleGJRA also allows it to be set to
    javax.jms.Destination (which works for both queues and topics).
    -->
    <config-property>
    <config-property-name>DestinationType</config-property-name>
    <config-property-value>javax.jms.Queue</config-property-value>
    </config-property>
    <!--
    Other activation-spec properties.
    The following activation-spec properties supported by OracleGJRA are optional
    except where otherwise noted:
    -->
    <!--
    ListenerThreadMaxPollInterval (milliseconds, 5000)
    Listener threads "poll" to see if there is a message waiting to be processed.
    The more frequently this polling is performed, the faster (on average) a given
    listener thread can respond to a new message. The price for frequent polling is
    overhead - the resource provider must process a receive request each time it is
    polled.
    Oracle's JMS Connector implementation applies an adaptive algorithm which
    uses shorter polling intervals (high polling rates) during periods of activity
    (once activity is noticed) and longer polling intervals (lower polling rates)
    during periods of inactivity. The ListenerThreadMaxPollInterval property places
    an upper limit on the polling interval used by this adaptive algorithm.
    -->
    <config-property>
    <config-property-name>ListenerThreadMaxPollInterval</config-property-name>
    <config-property-value>5000</config-property-value>
    </config-property>
    <!--
    AcknowledgeMode (string, default = Auto-acknowledge)
    This should be set to Auto-acknowledge or Dups-ok-acknowledge. This
    controls the quality-of-service provided by listener threads which
    consume messages and call the MDB's onMessage method.
    MessageSelector (string, default = no message filtering)
    This is the selector expression used to filter messages sent to the
    MDB's onMessage method. (I.e., this is used as the messageSelector for
    the JMS sessions created for the listener threads.)
    SubscriptionDurability (string, default = NonDurable)
    For topics this should be set to Durable or NonDurable. (This should
    not be set for queues.) This controls the durability of the topic
    consumer used by the listener thread. When SubscriptionDurability is
    set to Durable (and DestinationType is javax.jms.Topic or
    javax.jms.Destination), the SubscriptionName property is required.
    SubscriptionName (string, no default)
    This property is required when SubscriptionDurability is Durable (and
    DestinationType is javax.jms.Topic or javax.jms.Destination). (In all
    other cases it is ignored.) This is the name used when creating the
    durable subscriber used by the listener thread. For a given JMS server,
    a given subscription name should be assigned to at most one MDB (which
    must have most one listener thread).
    ClientId (string, no default)
    If set, connection(s) used by the listener threads will be set to use
    this client ID.
    TransactionTimeout (milliseconds, default = 300,000)
    This limits the amount of time that the JMS Connector will wait for a
    message to arrive before exiting the current transaction. The
    transaction manager limits the amount of time a transaction can last
    (see transaction-timeout in transaction-manager.xml).
    TransactionTimeout should be set such that the transaction manager will
    not timeout the transaction during the onMessage routine unless
    something is wrong. For example, If the transaction mananager timeout
    is set to 30 seconds, and the onMessage routine will never take more
    than 10 seconds unless something is wrong, then this property could be
    set to 20 seconds (20000 milliseconds).
    EndpointFailureRetryInterval (milliseconds, default = 60,000)
    If an endpoint can not be processed (due to the app server WorkManager
    not accepting new work), it will be scheduled to be retried this many
    milliseconds later.
    ReceiverThreads (integer, default = 1)
    This sets the maximum number of listener threads to create for this
    endpoint. For queues, using more than one thread may be useful in
    increasing the rate at which messages can be consumed. For topics this
    value should always be 1. (Each listener thread gets its own session
    and TopicSubscriber. For durable subscribers it would be an error to
    have more than one subscriber with the same subscription name. For
    nondurable subscribers having more than one thread will not help because
    more threads translates into more subscribers which translates into more
    copies of each message.) See also: ListenerThreadMinBusyDuration
    UseExceptionQueue (boolean, default = false)
    When "UseExceptionQueue" is true:
    - Messages that would otherwise be discarded are sent to the
    exception queue. (Currently the only case where this happens is
    when the max delivery count is exceeded. See MaxDeliveryCnt
    property.) Rather than sending the original message directly to
    the exception queue, the following procedure is used:
    o Create a new message of the same type.
    o Copy the properties and body from the original message to the
    new message.
    o If the headers were copied, sending the message to the
    exception queue would cause most of them to be lost
    (over-written by the resource-provider). So instead,
    translate headers in the original to properties in the copy,
    assigning each header obtained via "getJMS{Header}" to
    property "GJRA_CopyOfJMS{Header}". Since
    javax.jms.Destination is not a valid property type, translate
    destination headers into descriptive messages.
    (Currently this same service is not provided for JMSX*
    properties, most notably the JMSXDeliveryCount property.)
    o If some part of the copy process (above) or augmentation
    process (below) fails, do not abort. Attempt to complete the
    rest of the procedure. (For Bytes/Map/Stream message types,
    this can mean that part of the body is copied and the rest is
    not.)
    o If the copy process is 100% successful, add a boolean property
    called "GJRA_CopySuccessful" with the value "true".
    o Add a string property called "GJRA_DeliveryFailureReason" which
    indicates why the message was not delivered.
    o If the MDB onMessage method generated an exception immediately
    prior to the delivery failure, add a string property called
    "GJRA_onMessageExceptions" which contains exception information.
    o Send the resulting message to the exception queue.
    Note that only one attempt is made to send the message to the
    exception queue. Should this attempt fail, the message will
    be discarded without being placed in the exception queue.
    See IncludeBodiesInExceptionQueue property for potential variations
    of the above procedure.
    - The ExceptionQueueName property is required.
    - In addition to being used for the primary destination, the
    connection factory specified by the ConnectionFactoryJndiName
    property will also be used for the exception queue. If the primary
    destination (specified by the DestinationName property) is a topic,
    then the connection factory must support both queues and topics.
    (I.e., the <connectionfactory-interface> [see oc4j-ra.xml] for the
    given connection factory must be either javax.jms.ConnectionFactory
    or javax.jms.XAConnectionFactory.)
    ExceptionQueueName (string, no default)
    This is the JNDI location of the javax.jms.Queue object to use as the
    exception queue. (See UseExceptionQueue property for information about
    the use of the exception queue.) This property is required when
    UseExceptionQueue is true, and ignored when UseExceptionQueue is false.
    IncludeBodiesInExceptionQueue (boolean, default = true)
    This controls whether or not messages sent to the exception queue will
    include a message body. (See UseExceptionQueue property for information
    about the use of the exception queue.) If many messages are sent to the
    exception queue during normal operation and the message body is of no
    use in the exception queue, then this property may be set false to
    improve performance. This property is ignored when UseExceptionQueue is
    false. There are two cases where this property does not apply:
    - If the original message did not have a message body, then the
    message sent to the exception queue will not have one either.
    - If a copy of the original message can not be created for any
    reason, then the original may be sent to the exception queue
    instead. This may result in a message body being sent to the
    exception queue.
    MaxDeliveryCnt (integer, default = 5)
    If a message has the "JMSXDeliveryCount" property and the value of that
    property is greater than MaxDeliveryCnt, then the message will be
    discarded (and not sent to onMessage). If the exception queue is
    enabled (see UseExceptionQueue), a copy of the message will be sent to
    the exception queue. If MaxDeliveryCnt is set to 0, no messages will be
    discarded. (Note that when an MDB responds to a message by throwing an
    exception, the message is not considered delivered and it may be
    redelivered. If the MDB might always respond to a given message by
    throwing an exception, and MaxDeliveryCnt is set to 0 to prevent the
    message from ever being discarded, the result may be an MDB stuck in an
    "infinite loop" - failing to process the same message over and over
    again.)
    -->
    <config-property>
    <config-property-name>MaxDeliveryCnt</config-property-name>
    <config-property-value>0</config-property-value>
    </config-property>
    <!--
    LogLevel (string, no default)
    This controls the level of detail of messages logged by the JMS
    Connector. These messages are primarily intended for debugging the
    JMS Connector itself, but may also be useful when debugging issues
    related to the use of the JMS Connector. This property should not be
    set in production code. (It should only be set temporarily for
    debugging purposes - specific log messages and log levels may be and
    will be added/removed/modified in future versions of the JMS
    Connector.) Currently the allowed values are:
    ConnectionPool
    ConnectionOps
    TransactionalOps
    ListenerThreads
    INFO
    CONFIG
    FINE
    FINER
    FINEST
    SEVERE
    WARNING
    OFF
    ListenerThreadMaxIdleDuration (milliseconds, default = 300,000)
    This is how long a listener thread which is not receiving any messages
    will be kept around. (At least one listener thread will remain as long
    as the endpoint is active.)
    ListenerThreadMinBusyDuration (milliseconds, default = 10,000)
    If a listener thread has just received a message, has not been idle (had to
    wait for a new message to arrive) at any point during the past
    ListenerThreadMinBusyDuration milliseconds, and the current number of
    listener threads for this endpoint is less than ReceiverThreads, then
    (application server willing) an additional listener thread will be created.
    ResUser (string, default = null)
    ResPassword (string, default = null)
    These properties allow a user/password to be passed to the resource
    provider. When neither of these properties are set, connections used for
    this MDB's inbound message handling (as well as for exception queue
    handling, if enabled) are created using the no-argument version of the
    create*Connection method. When one or both of these properties are set,
    they are passed to the create*Connection method as the user/password
    arguments. (If only one property is not set, then 'null' is used for that
    particular create*Connection argument.) The ResPassword property supports
    the standard password indirection options (e.g., using "->joeuser" to
    represent the password of "joeuser").
    Note that the commas used in many of the above default values and examples are
    included here for readability but can not be used in the actual activation spec.
    (I.e., integer/milliseconds values in the activation spec must not include
    embedded commas.)
    -->
    </message-driven-deployment>
    </enterprise-beans>
    <assembly-descriptor>
    <default-method-access>
    <security-role-mapping name="&lt;default-ejb-caller-role>"
    impliesAll="true"/>
    </default-method-access>
    </assembly-descriptor>
    </orion-ejb-jar>

  • Why the JCA adapter can not be undeployed on SAP XI?

    Hi Friends,
    My JCA adapter cannot be undeployed on SAP XI using SDM tool.
    Internally, the JCA adapter use "SAPAdapterResources.startRunnable" to starts three threads. Three threads are all started and stoped in start() and stop() method in "SPIManagedConnectionFactory" class. And in the run() method of each thread, it uses "while" loop and "Thread.sleep()" to execute specific tasks in the background.
    Does it caused by incorrect thread management? Or are these any other reason that may cause JCA adapater not undployed?
    Thanks & Regards,
    Jason

    Hi Jason,
    Please have a look at these..
    SAP inbound activation on SAP JCA adapter
    JCA & external libraries
    Hope these help!
    cheers,
    Prashanth

  • Interconnect JCA Adapter Problem

    Im getting the following error when i use the jca adapter.
    the DBAdapter.jar is in the library path in adapter.ini.
    It seems strange as it throws bpel errors. do i need to install bpel?
    <MSG_TEXT>There was a problem in starting the bridge.</MSG_TEXT>
    <SUPPL_DETAIL><![CDATA[ORABPEL-12517
    AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
    The Resource Adapter was unable to activate the endpoint :{} due to the following reason: ORABPEL-12529
    ManagedConnectionFactory problem.
    Could not instantiate ManagedConnectionFactory oracle.tip.adapter.db.DBManagedConnectionFactory due to: oracle.tip.adapter.db.DBManagedConnectionFactory
    Please make sure the corresponding JCA Resource Adapter has been deployed.
    Please correct the reported issue and redeploy the BPEL process.
    at oracle.tip.adapter.fw.jca.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:522)
    at oracle.oai.agent.adapter.service.ServiceBridge.start(ServiceBridge.java:237)
    at oracle.oai.agent.proxy.AgentProxy.go(AgentProxy.java:672)
    at oracle.oai.agent.proxy.AgentProxy.start(AgentProxy.java:706)
    at oracle.oai.agent.proxy.AgentProxy.><init>(AgentProxy.java:415)
    at oracle.oai.agent.service.AgentService.run(AgentService.java:43)
    at java.lang.Thread.run(Thread.java:534)
    Caused by: ORABPEL-12529
    ManagedConnectionFactory problem.
    Could not instantiate ManagedConnectionFactory oracle.tip.adapter.db.DBManagedConnectionFactory due to: oracle.tip.adapter.db.DBManagedConnectionFactory
    Please make sure the corresponding JCA Resource Adapter has been deployed.
    at oracle.tip.adapter.fw.wsdl.WSDLUtils.setupManagedConnectionFactory(WSDLUtils.java:426)
    at oracle.tip.adapter.fw.jca.AdapterLocator.findResourceAdapter(AdapterLocator.java:182)
    at oracle.tip.adapter.fw.jca.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:321)
    ... 6 more
    Caused by: java.lang.ClassNotFoundException: oracle.tip.adapter.db.DBManagedConnectionFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:219)
    at oracle.tip.adapter.fw.wsdl.WSDLUtils.setupManagedConnectionFactory(WSDLUtils.java:419)
    ... 8 more
    ]]></SUPPL_DETAIL>

    Edit opmn.xml and add toplink.jar and DBAdapter.jar in the environment section.
    Example:
    <ias-component id="InterConnect" status="enabled">
    <environment>
    <variable id="CLASSPATH" value="$ORACLE_HOME/integration/interconnect/lib/DBAdapter.jar" append="true"/>
    <variable id="CLASSPATH" value="$ORACLE_HOME/integration/interconnect/lib/toplink.jar" append="true"/>
    </environment>

  • Try to deploy BRM JCA adapter on OAS

    Hi,
    As in topic... when deploing get an error:
    Exception: NoClassDefFoundError: Missing class: oracle.tip.adapter.api.TranslationAware Dependent class: oracle.tip.adapter.brm.BRMInteractionSpec Loader: brm:0.0.0 Code-Source: /oas_path/j2ee/home/connectors/brm/brm/OracleBRMJCA15Adapter.jar Configuration: in /oas_path/j2ee/home/connectors/brm/brm The missing class is not available from any code-source or loader in the system.
    Any help, what jar files I missing?

    Hi,
    Insert the following in the application.xml before you deploy and try deploying your adapter. It should work.
    <imported-shared-libraries>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    After the adapter deployment is complete, stopall processes, comment out the entry from application.xml and put the same in oc4j-ra.xml and restart all processes.
    HTH.
    Regards,
    -Sreekar

  • Error Missing class: oracle.xdb.XMLType with xdb.jar in JDeveloper 10.1.3

    I am using JDeveloper 10.1.3 and get the following error when executing the web service proxy with my call to the web service( this web service is using class OracleXMLSave with method insertXML):
    I have included the xdb.jar in my project properties libraries of the web service project and added a file group with xdb.jar to the properties of the webservices.deploy. What else needs to be done? This worked in JDeveloper 10.1.2.
    THE ERROR after running proxy in log window:
    java.rmi.ServerException:
    start fault message:
    caught exception while handling request: caught exception while handling request: oracle.classloader.util.AnnotatedNoClassDefFoundError:
         Missing class: oracle.xdb.XMLType
         Dependent class: dbdata2package.DBDataOperations
         Loader: DBData2WSApp-DBData2Operations-WS.web.WebServices:0.0.0
         Code-Source: /D:/h/cots/Oracle/JDeveloper10g10.1.3/j2ee/home/applications/DBData2WSApp-DBData2Operations-WS/WebServices/WEB-INF/classes/
         Configuration: WEB-INF/classes/ in D:\h\cots\Oracle\JDeveloper10g10.1.3\j2ee\home\applications\DBData2WSApp-DBData2Operations-WS\WebServices\WEB-INF\classes
    The missing class is available from the following locations:
         1. Code-Source: /D:/h/cots/Oracle/JDeveloper10g10.1.3/j2ee/home/applications/DBDataWSApp-webservice-WS/WebServices/WEB-INF/lib/xdb.jar (from WEB-INF/lib/ directory in D:\h\cots\Oracle\JDeveloper10g10.1.3\j2ee\home\applications\DBDataWSApp-webservice-WS\WebServices\WEB-INF\lib)
         This code-source is available in loader DBDataWSApp-webservice-WS.web.WebServices:0.0.0.
         2. Code-Source: /D:/h/cots/Oracle/JDeveloper10g10.1.3/j2ee/home/applications/DBDataWSApp-DBDataOperations-WS/WebServices/WEB-INF/lib/xdb.jar (from WEB-INF/lib/ directory in D:\h\cots\Oracle\JDeveloper10g10.1.3\j2ee\home\applications\DBDataWSApp-DBDataOperations-WS\WebServices\WEB-INF\lib)
         This code-source is available in loader DBDataWSApp-DBDataOperations-WS.web.WebServices:0.0.0.
    :end fault message
         at oracle.j2ee.ws.client.StreamingSender._raiseFault(StreamingSender.java:545)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:390)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:111)
         at dbdata2packageproxy.runtime.DBData2WSSoapHttp_Stub.insertData(DBData2WSSoapHttp_Stub.java:80)
         at dbdata2package.DBData2WSSoapHttpPortClient.insertData(DBData2WSSoapHttpPortClient.java:54)
         at dbdata2package.DBData2WSSoapHttpPortClient.main(DBData2WSSoapHttpPortClient.java:34)
    Process exited with exit code 0.

    Hi,
    actually you increment the index
    pstmt.setString(++idx,inrecord.getCommentID());
    which means you never have an index of 0 but always start with 1
    Frank

  • Problem with DB JCA adapter in Soa suite 11g composite appl

    i am testing a simple credit card validation composite with Oracle SOA suite 11g11.1.1.4.0, Jdevloper 11.1.1.3.0 and oracle universal XE DB. I am having an exception given below. I have checked that data source is properly configured and appearing at the right place in JNDI tree. Suggestion like 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/DBconnection. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR) has also been tried result is same
    **Any suggestion will greatly appreciated .**
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CreditCardDBServiceSelect' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. CreditCardValidation:CreditCardDBService [ CreditCardDBService_ptt::CreditCardDBServiceSelect(CreditCardDBServiceSelect_inputParameters,CreditcardsCollection) ] : 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/DBconnection'. 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/DBconnection. 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. Please examine the above error message carefully to determine a resolution. at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:575) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:381) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:298) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(Unknown Source) at com.sun.el.MethodExpressionImpl.invoke(Unknown Source) at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53) at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:765) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:305) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.help.web.rich.OHWFilter.doFilter(Unknown Source) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.emSDK.license.LicenseFilter.doFilter(LicenseFilter.java:101) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.emas.fwk.MASConnectionFilter.doFilter(MASConnectionFilter.java:41) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.AuditServletFilter.doFilter(AuditServletFilter.java:179) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.EMRepLoginFilter.doFilter(EMRepLoginFilter.java:203) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.core.model.targetauth.EMLangPrefFilter.doFilter(EMLangPrefFilter.java:158) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.core.app.perf.PerfFilter.doFilter(PerfFilter.java:141) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:542) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111) at java.security.AccessController.doPrivileged(Native Method) 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.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:176) Caused by: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CreditCardDBServiceSelect' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. CreditCardValidation:CreditCardDBService [ CreditCardDBService_ptt::CreditCardDBServiceSelect(CreditCardDBServiceSelect_inputParameters,CreditcardsCollection) ] : 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/DBconnection'. 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/DBconnection. 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. Please examine the above error message carefully to determine a resolution. at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:260) at oracle.sysman.emSDK.webservices.wsdlparser.OperationInfoImpl.invokeWithDispatch(OperationInfoImpl.java:992) at oracle.sysman.emas.model.wsmgt.PortName.invokeOperation(PortName.java:729) at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:569) ... 79 more Caused by: javax.xml.ws.soap.SOAPFaultException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CreditCardDBServiceSelect' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. CreditCardValidation:CreditCardDBService [ CreditCardDBService_ptt::CreditCardDBServiceSelect(CreditCardDBServiceSelect_inputParameters,CreditcardsCollection) ] : 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/DBconnection'. 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/DBconnection. 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. Please examine the above error message carefully to determine a resolution. at oracle.j2ee.ws.client.jaxws.DispatchImpl.throwJAXWSSoapFaultException(DispatchImpl.java:1012) at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:803) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:235) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:106) at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:256) ... 82 more

    Hi,
    The JNDI Name to use for the service connection is "eis/DB/soademoDatabase".
    This Database is a requirement of the course... (Chapter 4 of Getting Started with Oracle SOA Suite 11g R1 - A Hands-On Tutorial).

Maybe you are looking for

  • New version 9.0.1 on Windows 7 has a problem running JavaScript math iterations.

    Dialog Error Box reads: A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete. Script: http://www.classictesla.com/java/javatc/script/JTC_geotc.js:129

  • How to create a trend line in cfchart?

    I  can create a scatter chart in cfchart - but I do not know how to create  a linear regression trend line in the same chart as a second data  series. Kodemonki provided an answer in a forum discussion a few years  ago (http://forums.adobe.com/messag

  • Itunes 7.1.1.5 will not execute.  Major Problem

    I've been using Itunes since 2005. Recently, for reasons I can't explain, it stopped working. I did not download or install any new programs, it just would no longer execute. I unistalled, and downloaded the most recent itunes 7.1.1.15, setup, and it

  • Request is in yellow.

    While extracting the data from r/3 to bi, of payroll data source by filtering months in infopackage, the records are coming but the request is in yellow. the error message is 1. No assignment of payroll data to BW month for country grouping     Messa

  • How can i upgrade my iphone4 ios to 5ios using my phone?

    I need to upgrade my ios to 5