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: <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: <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,
VarunHi,
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,
ChrisWell, 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.
SteveLooks 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?
JurajI 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?
MikeHi. 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="<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,
JasonHi 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 -
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 moreHi,
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
-
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
-
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