Friday, March 11, 2011

Could not instantiate ManagedConnectionFactory oracle.tip.adapter.jms.JmsManagedConnectionFactory

<AdapterFramework::Inbound> JNDI lookup of 'eis/Jms/DBConnect' failed due to: eis/Jms/DBConnect not found
<AdapterFramework::Inbound> Since unable to locate the JCA Resource Adapter deployed at 'eis/Jms/DBConnect', will then attempt to instantiate ManagedConnectionFactory oracle.tip.adapter.jms.JmsManagedConnectionFactory directly.
<AQ Adapter::Inbound> MessageReader_ctor: Initialized MessageReader for queue AQ_QUEUE, consumer = null)
<AdapterFramework::Inbound> Error while performing endpoint Activation: ORABPEL-12529
ManagedConnectionFactory problem.
Could not instantiate ManagedConnectionFactory oracle.tip.adapter.jms.JmsManagedConnectionFactory due to:

          Missing class: oracle.tip.adapter.jms.JmsManagedConnectionFactory

        Dependent class: oracle.tip.adapter.fw.wsdl.WSDLUtils
                 Loader: oracle.bpel.common:10.1.3
            Code-Source: /oracle/orasoa/bpel/lib/orabpel.jar
          Configuration: <code-source> in /oracle/orasoa/j2ee/oc4j_soa/config/server.xml

This load was initiated at esb-rt.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.
 [Caused by:

          Missing class: oracle.tip.adapter.jms.JmsManagedConnectionFactory

        Dependent class: oracle.tip.adapter.fw.wsdl.WSDLUtils
                 Loader: oracle.bpel.common:10.1.3
            Code-Source: /oracle/orasoa/bpel/lib/orabpel.jar
          Configuration: <code-source> in /oracle/orasoa/j2ee/oc4j_soa/config/server.xml

This load was initiated at esb-rt.root:0.0.0 using the Class.forName() method.

The missing class is not available from any code-source or loader in the system.]
<AdapterFramework::Inbound> Adapter Framework instance: OraESB - endpointActivation for portType=Consume_Message_ptt, operation=Consume_Message
<AdapterFramework::Inbound> JNDI lookup of 'eis/Jms/DBConnect' failed due to: eis/Jms/DBConnect not found
<AdapterFramework::Inbound> Since unable to locate the JCA Resource Adapter deployed at 'eis/Jms/DBConnect', will then attempt to instantiate ManagedConnectionFactory oracle.tip.adapter.jms.JmsManagedConnectionFactory directly.
<AdapterFramework::Inbound> Error while performing endpoint Activation: ORABPEL-12529


Solution:

This error is a result of missing JMS adapter.
Verify from the EM console if "JmsAdapter" can be seen in the Cluster Topolgy -> <bpel container> -> Applications -> Standalone Resource Adapter. If it is missing then JMS Adapter is not properly deployed.
Now search in $ORACLE_HOME/j2ee/<bpel container>/config/oc4j-connectors.xml if there is an entry for JmsAdapter.
It will be something as shown below:
<connector name="JmsAdapter"
path="JmsAdapter.rar"> </connector>
In case there is no entry then go to the EM console and deploy the adapter by following the below steps:
Login to AS control as an admin user (oc4jadmin)
Click on your <bpel_container>
Click on Applications Tab
In the drop down box choose Standalone Resource Adapters
Click on the deploy button
Choose the required adapter rar file from $ORACLE_HOME/bpel/system/services/lib directory
In the next screen provide the "Resource Adapter Name" as "JmsAdapter".
Accept default values in screen 3 and click on the deploy button. After successful deployment, verify JmsAdapter under Standalone Resource Adapters.
In case of failure follow steps which are required when "JmsAdapter.rar" is found oc4j-connectors.xml.

In case there is an entry in oc4j-connectors.xml then the adapter was partially deployed and could not be completed due to some issue. Follow below steps in this case:
Navigate to $ORACLE_HOME/j2ee/<bpel_container>/connectors. Here "JmsAdapter" folder will be absent. Create a folder manually here with name "JmsAdapter".
Now inside this folder copy "JmsAdapter.rar" available at $ORACLE_HOME/bpel/system/services/lib.
Inside "JmsAdapter" folder create a subfolder with the same name i.e. "JmsAdapter". Now extract content of "JmsAdapter.rar" in the newly created "JmsAdapter" subfolder.
Now update the oc4j-ra.xml file and add the connection factory "eis/Jms/DBConnect". Remember to add all your custom connection factories.
Restart your SOA Server now and verify if JmsAdapter is now visible under the Standalone Resource Adapter list.

No comments:

Post a Comment