This week's book giveaway is in the Jython/Python forum.
We're giving away four copies of Murach's Python Programming and have Michael Urban and Joel Murach on-line!
See this thread for details.
Win a copy of Murach's Python Programming this week in the Jython/Python forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Problem integrating Weblogic 8.1 with Sonic MQ 6.1  RSS feed

clement valentine
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello all,
Iam trying to get an MDB on WLS to listen to a Sonic MQ installation. Iam using Sonic's built in JNDI and have made the necessary setting under Foreign JMS server under Weblogic console (I followed the code share available on Sonic's site!). But the MDB always starts with the following warning and does not listen to the Q.

<Jan 9, 2006 11:47:07 PM CST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: SonicMDB is unable to connect to the JMS destination: jms/SampleQ1. The Error was:
[EJB:011010]The JMS destination with the JNDI name: jms/SampleQ1 could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination has been deployed.>

This is my weblogic-ejb-jar.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "">

I have configured the jndi name for the destination and connection factory correctly under the console.. Is there a bug with WLS 8.1 SP4?

Thanks guys
Reid M. Pinchback
Ranch Hand
Posts: 775
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I can think of two things, one if which will sound really wierd.

I've had problem with getting Weblogic to work with "/" in the JNDI names for JMS objects. Yes, that sounds cracked, but I've seen it. The admin interface accepts them just fine, but the code fails because it can't find the objects. I've never been able to figure out why I've seen it when I've seen it, but the solution was always to just get rid of "/" in the bindings for queues and connection factories.

Another possibility that comes to mind is that everything you are doing in your MDB is correct, the problem is that Weblogic isn't successfully connecting to Sonic. You might be able to spot that by mucking around with the Weblogic server logging configuration. For example, does the connection from Weblogic to Sonic depend upon JNDI? If so, you might be missing the Sonic provider libraries.
Roger Chung-Wee
Ranch Hand
Posts: 1683
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are you using wrappers?

If you have (recommended), then jms/SampleQ1 will be what you set up in your local JNDI tree that corresponds the remote or foreign destination.

If you have not, then you must specify the name of the destination as bound in the foreign provider's JNDI tree.
clement valentine
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi guys,
Iam not using the Sun's FSContext but the Sonic's jndi. I have added the following sonic jars to the wls classpath:
@rem Add the Sonic JMS Provider
set SONICMQ_CLASSPATH=%SONICMQ_LIB%\mfcontext.jar;%SONICMQ_LIB%\sonic_Client.jar;%SONICMQ_LIB%\sonic_ASPI.jar;%SONICMQ_LIB%\sonic_XA.jar;%SONICMQ_LIB%\sonic_Selector.jar;%SONICMQ_LIB%\sonic_Crypto.jar;%SONICMQ_LIB%\jndi.jar

This is my foreign JMS server configuration in WLS console
JNDI Initial Context Factory: com.sonicsw.jndi.mfcontext.MFContextFactory
JNDI Provider URL: tcp://localhost:2506
JNDI Properties:

This is the snippet from WLS config.xml
<ForeignJMSServer ConnectionURL="tcp://localhost:2506"
JNDIProperties="java.naming.provider.url=tcp://localhost:2506;java.naming.factory.initial=com.sonicsw.jndi.mfcontext.MFContextFactory;com.sonicsw.jndi.mfcontext.idleTimeout=6000;com.sonicsw.jndi.mfcontext.domain=Domain1" Name="WLSSONIC">
<ForeignJMSConnectionFactory LocalJNDIName="jms/QCF"
RemoteJNDIName="SonicMQQueueConnectionFactory" Username="Administrator"/>
<ForeignJMSDestination LocalJNDIName="jms/SampleQ1"
Name="SonicMQSampleQ1" RemoteJNDIName="SonicMQSampleQ1"/>


Thanks guys
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!