Thursday, January 5, 2012

ERRJMS_ERR_CR_QUEUE_PROD with the JMS adapter

Problem:

Getting the following fault when invoking a SOA Suite 11g composite that uses a JMS outbound adapter:
<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: ERRJMS_ERR_CR_QUEUE_PROD. ERRJMS_ERR_CR_QUEUE_PROD. Unable to create Queue producer due to JMSException. Please examine the log file to determine the problem. ". 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>
          [JMSExceptions:045103]While trying to find a topic or a queue we could not find the specific JMSServer requested. The linked exception may contain more information about the reason for failure.
        </detail>
      </part>
      <part  name="code">
        <code>null</code>
      </part>
    </bindingFault>
  </bpelFault>
</fault>

Solution:

The subdeployment on which the queue is associate with is targetted to an invalid JMS Server. In this case, the JMS Server was referencing a persistent file store that did not exist.

If you parse the log files, you may find the following error:
<Dec 25, 2011 7:30:41 PM EST> <Warning> <Management> <BEA-141197> <The deployment of CustomJMSServer failed.
weblogic.management.DeploymentException: Internalrror activating the JMS Server CustomJMSServer: weblogic.management.DeploymentException: The persistent store "CustomFileStore" does not exist
        at weblogic.jms.deployer.BEAdminHandler.activate(BEAdminHandler.java:215)
        at weblogic.management.utils.GenericManagedService.activateDeployment(GenericManagedService.java:239)
1. Navigate to the WebLogic Server Administration Console.

2. Expand soa_domain > Services > Messaging > JMS Modules

3. Click on your JMS module name

4. Click on the Subdeployments tab

5. Click on the subdeployment name

6. Target the subdeployment to a valid JMS Server (e.g., SOAJMSServer)


Applicable Versions:
  • Oracle SOA Suite 11g
  • Oracle WebLogic Server 11g

4 comments:

Maxim Ganichev said...

Thanks, this material has saved me recently!

Unknown said...

Thanks

Isha said...

i am facing this issue recently in 12c and I have verified that correct JMS server is selected in sub-deployments. What could be the issue

Raghavendra Udupa said...

Hi Isha,

Did you resolve this issue? We are seeing this as what you told. Everything is fine as far as targets, subdeployment is concerned. If you replace wlthinclient jar of wls14c, we see this issue. Same client works fine if you have wlthinclient jar of wls12c.

Pls let me know. Regards
Raghu