Thursday, December 29, 2011

JCA-12510 JCA Resource Adapter location error

Problem:

Getting the following error when executing a composite that invokes a JMS outbound adapter in SOA Suite 11g:
<fault>
  <bpelFault>
    <faultType>0</faultType>
    <bindingFault>
      <part  name="summary">
        <summary>
          Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CustomerProduce' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. JMSProducer:CustomerJMS [ CustomerProduce_ptt::CustomerProduce(opaque) ] : 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='jndi/CustomerJMSQueue'. 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 jndi/CustomerJMSQueue. 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.
        </summary>
      </part>
      <part  name="detail">
        <detail>
          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='jndi/CustomerJMSQueue'. 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 jndi/CustomerJMSQueue. 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
        </detail>
      </part>
      <part  name="code">
        <code>12510</code>
      </part>
    </bindingFault>
  </bpelFault>
</fault>

Solution:

1. During design time (i.e., in JDeveloper 11g), make sure you use the JNDI name of eis/wls/Queue in your JMS Adapter settings as shown:


 Applicable Versions:
  • Oracle SOA Suite 11g (11.1.1.4+)

Ahmed Aboulnaga

1 comment:

Sudheer said...

Nice blog with all issues and resolutions...
Thanks a lot... "eis/wls/Topic" is working perfectly...

But my doubt is if i create a custom outboundConnectionPool(eis/Topic/ProIntg) ans assign some custom connection factory(jms/ProIntgCF), its throwing the above error.

What could be the issue..?

Sudheer