2 Replies Latest reply: Mar 7, 2011 5:14 AM by 845320 RSS

    Deploying BRM JCA on Weblogic 10.3

    822858
      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
          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
            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