Connecting WebSphere MQ 8.0.x with JMS palette in BW using JNDI.

Connecting WebSphere MQ 8.0.x with JMS palette in BW using JNDI.

book

Article ID: KB0093775

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

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

Issue/Introduction

Connecting WebSphere MQ 8.0.x with JMS palette in BW using JNDI.