This discussion is archived
2 Replies Latest reply: Mar 7, 2011 3:14 AM by 845320 RSS

Deploying BRM JCA on Weblogic 10.3

822858 Newbie
Currently Being Moderated
We are trying to prototype invoking APIs through Webservices exposed by BRM JCA.

In the Oracle BRM manual it is mentioned that certain Jars need to be present in order for BRM JCA to deploy successfully.

1. J2EE application server
classes12.jar, connector15.jar, and jta.jar
2. Oracle BPEL process
bpm-infra.jar, orabpel-thirdparty.jar, orabpel.jar, and xmlparserv2.jar
3. Apache
xercesImpl.jar

We have only classes12.jar, jta.jar, xercesImpl.jar.

My question is whether it is absolutely necessary for these jars to be present, and if so where can I find it.

Right now we are getting Deployment error when we try to deploy BRM JCA on Weblogic 10.3

<Dec 10, 2010 2:17:07 PM GMT+05:30> <Warning> <Connector> <BEA-190155> <Compliance checking/validation of the resource a
dapter E:\BRM74Tools\JCA\jca_adapter\OracleBRMJCA15Adapter.rar resulted in the following warnings:
The ra.xml <resourceadapter-class> class 'oracle.tip.adapter.brm.BRMResourceAdapter' should implement java.io.Serializab
le but does not.>
<Dec 10, 2010 2:17:07 PM GMT+05:30> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment req
uest with ID '1291970826812' for task '0'. Error is: 'weblogic.application.ModuleException: [1] The ra.xml <connectionfa
ctory-interface> class 'oracle.tip.adapter.api.OracleConnectionFactory' was not found in the resource adapter archive/ap
plication.
[2] The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.brm.BRMConnectionFactory' could not be loaded fr
om the resource adapter archive/application because of the following error: java.lang.NoClassDefFoundError: oracle/tip/a
dapter/api/OracleConnectionFactory'
weblogic.application.ModuleException: [1] The ra.xml <connectionfactory-interface> class 'oracle.tip.adapter.api.OracleC
onnectionFactory' was not found in the resource adapter archive/application.
[2] The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.brm.BRMConnectionFactory' could not be loaded fr
om the resource adapter archive/application because of the following error: java.lang.NoClassDefFoundError: oracle/tip/a
dapter/api/OracleConnectionFactory
at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.java:229)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:508)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:149)
Truncated. see log file for complete stacktrace
>
<Dec 10, 2010 2:17:07 PM GMT+05:30> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy ta
sk for application 'OracleBRMJCA15Adapter'.>
<Dec 10, 2010 2:17:07 PM GMT+05:30> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: [1] The ra.xml <connectionfactory-interface> class 'oracle.tip.adapter.api.OracleC
onnectionFactory' was not found in the resource adapter archive/application.
[2] The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.brm.BRMConnectionFactory' could not be loaded fr
om the resource adapter archive/application because of the following error: java.lang.NoClassDefFoundError: oracle/tip/a
dapter/api/OracleConnectionFactory
at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.java:229)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:508)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:149)
Truncated. see log file for complete stacktrace
>
<Dec 10, 2010 2:17:07 PM GMT+05:30> <Error> <Console> <BEA-240003> <Console encountered the following error weblogic.app
lication.ModuleException: [1] The ra.xml <connectionfactory-interface> class 'oracle.tip.adapter.api.OracleConnectionFac
tory' was not found in the resource adapter archive/application.
[2] The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.brm.BRMConnectionFactory' could not be loaded fr
om the resource adapter archive/application because of the following error: java.lang.NoClassDefFoundError: oracle/tip/a
dapter/api/OracleConnectionFactory
at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.java:229)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:508)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:149)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:47)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:1223)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:43)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperatio
n.java:208)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:16
0)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(Deploymen
tReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiv
erCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCal
lbackDeliverer.java:47)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
  • 1. Re: Deploying BRM JCA on Weblogic 10.3
    836031 Newbie
    Currently Being Moderated
    have you has resolved this problem?? If not, coant you post your RA.xml and Webloc-ra.xml.
  • 2. Re: Deploying BRM JCA on Weblogic 10.3
    845320 Newbie
    Currently Being Moderated
    Hi jamavalom,

    I have exactly the same problem with deployment of JCA Adapter, except I collected all requested jar files, and put them in WEBLOGIC_CLASSPATH inside /wlserver_10.3/common/bin/commEnv.sh file, and afterward restarted the WebLogic server. Here are the contents of configuration *.xml files:

    ra.xml:

    <?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>Oracle BRM Adapter</display-name>
    <vendor-name>Oracle CGBU</vendor-name>
    <eis-type>Oracle BRM</eis-type>
    <resourceadapter-version>1.0</resourceadapter-version>
    <resourceadapter>
    <resourceadapter-class>oracle.tip.adapter.brm.BRMResourceAdapter</resourceadapter-class>
    <outbound-resourceadapter>
    <connection-definition>
    <managedconnectionfactory-class>
    oracle.tip.adapter.brm.BRMManagedConnectionFactory
    </managedconnectionfactory-class>
    <!-- protocol, hostname and port -->
    <config-property>
    <config-property-name>ConnectionString</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>ip hostname 12007</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>PoidID</config-property-name>
    <config-property-type>java.lang.Long</config-property-type>
    <config-property-value>1</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>ServiceType</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>/service/pcm_client</config-property-value>
    </config-property>
    <!-- Login type 1 - Authentication by username/password,
    0 - authentication by service and poid id0 -->
    <config-property>
    <config-property-name>LoginType</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>1</config-property-value>
    </config-property>
         <!-- ConnectionPoolMaxsize - Pool Max size used by pfc.jar -->
    <config-property>
    <config-property-name>ConnectionPoolMaxsize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>50</config-property-value>
    </config-property>
         <!-- ConnectionPoolMinsize - Pool Mn size used by pfc.jar -->
    <config-property>
    <config-property-name>ConnectionPoolMinsize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>25</config-property-value>
    </config-property>
    <!-- UserName and Password for Login type 1 -->
    <config-property>
    <config-property-name>UserName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>root.0.0.0.1</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>Password</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>&amp;aes|08|0D5E11BFDD97D2769D9B0DBFBD1BBF7E5D40C305EDF3D77DF111AAB8F781E92122</config-property-value>
    </config-property>
    <!-- Input and Output schema validation-->
    <config-property>
    <config-property-name>InputValidation</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <config-property-name>OutputValidation</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
         <!-- MultiDB - true - Transaction opened on the incoming database
                   - false- Transaction opened on default DB -->
    <config-property>
    <config-property-name>MultiDB</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
         <!-- AverageOpcodeCount - Determines number of managed connections
                        created on the fly. Its the average number
                        of opcodes executed per thread -->
    <config-property>
    <config-property-name>AverageOpcodeCount</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>5</config-property-value>
    </config-property>
    <connectionfactory-interface>
    oracle.tip.adapter.api.OracleConnectionFactory
    </connectionfactory-interface>
    <connectionfactory-impl-class>
    oracle.tip.adapter.brm.BRMConnectionFactory
    </connectionfactory-impl-class>
    <connection-interface>
    oracle.tip.adapter.brm.IBRMConnection
    </connection-interface>
    <connection-impl-class>
    oracle.tip.adapter.brm.BRMConnection
    </connection-impl-class>
    </connection-definition>
    <transaction-support>XATransaction</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>

    weblogic-ra.xml:

    <weblogic-connector xmlns="http://www.bea.com/ns/weblogic/weblogic-connector" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-connector http://www.bea.com/ns/weblogic/weblogic-connector/1.0/weblogic-connector.xsd">
    <enable-access-outside-app>true</enable-access-outside-app>
    <enable-global-access-to-classes>true</enable-global-access-to-classes>
    <outbound-resource-adapter>
    <connection-definition-group>
    <connection-factory-interface>oracle.tip.adapter.api.OracleConnectionFactory</connection-factory-interface>
    <connection-instance>
    <jndi-name>eis/BRM</jndi-name>
    <connection-properties>
    <logging>
         <log-filename>eisBRM.log</log-filename>
                                  <logging-enabled>true</logging-enabled>
                                  <rotation-type>bySize</rotation-type>
                                  <number-of-files-limited>true</number-of-files-limited>
                                  <file-count>3</file-count>
                                  <file-size-limit>100</file-size-limit>
                                  <rotate-log-on-startup>true</rotate-log-on-startup>
                                  <log-file-rotation-dir>c:/mylogs</log-file-rotation-dir>
                                  <rotation-time>10:00</rotation-time>
                                  <file-time-span>24</file-time-span>
                             </logging>
                             <properties>
                                  <property>     
                   <name>ConnectionString</name>
                   <value>ip blrhpdv3.idc.oracle.com 12011</value>
                   </property>
                   <!-- Database number, Poid ID0 and Service type -->
                   <property>
                   <name>PoidID</name>
                   <value>1</value>
                   </property>
                   <property>
                   <name>ServiceType</name>
                   <value>/service/pcm_client</value>
                   </property>
                   <!-- Login type 1 - Authentication by username/password,
                   0 - authentication by service and poid id0 -->
                   <property>
                   <name>LoginType</name>
                   <value>1</value>
                   </property>
                   <property>
                   <name>ConnectionPoolMaxsize</name>
                   <value>20</value>
                   </property>
                   <property>
                   <name>ConnectionPoolMinsize</name>
                   <value>10</value>
                   </property>
                   <!-- UserName and Password for Login type 1 -->
                   <property>
                   <name>UserName</name>
                   <value>root.0.0.0.1</value>
                   </property>
                   <property>
                   <name>Password</name>
                   <value>&amp;aes|08|0D5E11BFDD97D2769D9B0DBFBD1BBF7E5D40C305EDF3D77DF111AAB8F781E92122</value>
                   </property>
                   <!-- Input and Output schema validation-->
                   <property>
                   <name>InputValidation</name>
                   <value>false</value>
                   </property>
                   <property>
                   <name>OutputValidation</name>
                   <value>false</value>
                   </property>
                   <property>
                   <name>MultiDB</name>
                   <value>false</value>
                   </property>
                   <!-- The AverageOpcodeCount parameter specifies the number of Opcode calls in a Thread -->
                   <property>
                   <name>AverageOpcodeCount</name>
                   <value>1</value>
                   </property>
                        </properties>
                        </connection-properties>
                        </connection-instance>
                   </connection-definition-group>
              </outbound-resource-adapter>
    </weblogic-connector>

    Thank you in advance for help,

    BR,

    Mario

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points