Resolution: - On the MQ server, run MQExplorer and create a QueueManager named "TIBMQ".
- Create several local queues and topics, i.e. queue.sample and topic.sample.
- Create a new "JMS Administered Object” by specifying the location where a new Binding file will be created.
- Create several connection factories, i.e. ConnectionFactory (Generic), QueueConnectionFactory (queue), TopicConnectionFactory (Topic) under the "JMS Administered Objects/Connection Factories” section. While creating the connection factories, make sure that the "Transport” type of each factory is set to "MQ Client”, not "Bindings” which is the default. In the "Connection List” of the Connection property, replace the "localhost” entry with the hostname/IP address of the machine running WebSphere MQ.
- Create a JNDI aliases for the queue queue.sample with the name bw.queue.sample and for the topic topic.sample with the name bw.topic.sample under the "JMS Administered Objects/Destinations” section.
- Go to <MQ_HOME>/bin, open a command line and issue the command: runmqsc <Queue Manager> to start the MQSC tool. For example,
runmqsc TIBMQ
- At the mqsc command prompt, issue the command:
ALTER QMGR CHLAUTH(DISABLED)
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
REFRESH SECURITY TYPE(CONNAUTH)
If you do not issue the above REFRESH command, you will need to restart the queue manager. Note that the last two commands are needed to allow users access without providing a userid/password. This may not be needed with MQ 7.x
- Copy the binding file created on the MQ Server machine to the BW machine so that you can pass it as a JNDI Context URL in BW. For example, C"\MQbind" (directory listing shown below).
+++++++++++++++++
Directory of C:\MQbind
11/12/2015 03:39 PM <DIR> .
11/12/2015 03:39 PM <DIR> ..
11/11/2015 03:08 PM 60,953 .bindings
1 File(s) 60,953 bytes
2 Dir(s) 12,744,994,816 bytes free
+++++++++++++++++
**Note** Do not change the extension or filename for .bindings file as this would result in connection errors.
- Copy the MQ client JAR files to a folder, say the "C:\mqclient" directory on the BW machine. This following is how the directory listing would typically look like.
+++++++++++++++++
Directory of C:\mqclient
11/12/2015 03:33 PM <DIR> .
11/12/2015 03:33 PM <DIR> ..
10/23/2015 01:00 AM 8,064,447 com.ibm.mq.allclient.jar
10/23/2015 01:00 AM 114,878 com.ibm.mq.axis2.jar
10/23/2015 01:00 AM 830,189 com.ibm.mq.commonservices.jar
10/23/2015 01:00 AM 438,742 com.ibm.mq.defaultconfig.jar
10/23/2015 01:00 AM 352,267 com.ibm.mq.headers.jar
10/23/2015 01:00 AM 379,786 com.ibm.mq.jar
10/23/2015 01:00 AM 3,218,887 com.ibm.mq.jmqi.jar
10/23/2015 01:00 AM 14,579 com.ibm.mq.jms.Nojndi.jar
10/23/2015 01:00 AM 124,675 com.ibm.mq.pcf.jar
10/23/2015 01:00 AM 7,690,300 com.ibm.mq.postcard.jar
10/23/2015 01:00 AM 106,485 com.ibm.mq.soap.jar
10/23/2015 01:00 AM 70,892 com.ibm.mq.tools.ras.jar
10/23/2015 01:00 AM 39,153 com.ibm.mq.traceControl.jar
10/23/2015 01:00 AM 3,940,707 com.ibm.mqjms.jar
10/23/2015 01:00 AM 22,769 fscontext.jar
11/11/2015 03:12 PM <DIR> http
11/11/2015 03:12 PM <DIR> jca
11/11/2015 03:12 PM <DIR> jdbc
10/23/2015 01:00 AM 58,349 jms.jar
11/11/2015 03:12 PM <DIR> jmscc
10/23/2015 01:00 AM 125,768 mqjbnd.dll
10/23/2015 01:00 AM 34,120 mqjexitstub02.dll
11/11/2015 03:12 PM <DIR> OSGi
10/23/2015 01:00 AM 77,116 providerutil.jar
12/29/2014 10:28 AM 19,101 SIBXJndiLookupEAR.ear
11/11/2015 03:12 PM <DIR> soap
11/11/2015 03:12 PM <DIR> symbols
11/12/2015 03:33 PM 0 t.txt
21 File(s) 25,723,210 bytes
9 Dir(s) 12,745,056,256 bytes free
+++++++++++++++++
- Modify the "tibco.env.CUSTOM_CP_EXT" property in designer.tra/bwengine.tra to include C:\mqclient in the classpath as shown below.
## this will be prepended to tibco.class.path.extended
tibco.env.CUSTOM_CP_EXT C:/tibco/bw/5.11/hotfix/lib;%TRA_HOME%/lib/TIBCOjms.jar;%TPCL_HOME%/lib/mail.jar;%TRA_HOME%/lib/TIBCrypt.jar;%TPCL_HOME%/lib/httpclient_3.0;%HAWK_HOME%/lib;C:/tibco/bw/5.11/lib;C:/tibco/bw/5.11/lib/palettes;%TPCL_HOME%/uddi4j/lib/uddi4j.jar;C:/tibco/bw/plugins/lib;C:/tibco/bw/plugins/lib/palettes;C:/mqclient
- In the JMSConnection, set the following:
JNDI Context Factory: com.sun.jndi.fscontext.RefFSContextFactory
JNDI Context URL: file:/C://MQbind (The location of the .bindings file)
Queue Connection Factory Name: QueueConnectionFactory
Topic Connection Factory Name: TopicConnectionFactory
Queue Name/Topic Name: queue.sample (or) bw.queue.sample/topic.sample (or) bw.topic.sample