Table of Contents
How to Setup MQ / Peoplesoft Connectivity- WebSphere
Culled from the internet somewhere
Setup MQM Client Libraries.
- Create user called mqm home directory /opt/mqm
- You can download the MQM Client Libraries from MQ all you need following jar files to support MQ:
- connector.jar
- com.ibm.mqjms.jar
- com.ibm.mqbind.jar
- com.ibm.mq.jar
- CL3Nonexport.zip
- CL3Export.zip
- rmm.jar
- providerutil.jar
- postcard.jar
- ldap.jar
- jta.jar
- jndi.jar
- jms.jar
- fscontext.jar
- libmqjbnd05.so
- libmqjbdf02.so
- libMQXAi02.so
Create jndi file using IVTSetup
- Get the required queue names from MQM admins
cd /opt/mqm/java/bin
- Edit JMSAdmin file Location of .binding file
PROVIDER_URL=file:/opt/mqm/java/peoplesoft/jndi
- Edit IVTSetup file
IVTSetup
#!/bin/sh # ------------------------------------------------------------ # IBM Websphere MQ Support for Java Message Service # Installation Verification Test - Setup script # # Licensed Materials - Property of IBM # # 5648-C60 5724-B4 5655-F10 # # (c) Copyright IBM Corp. 1999. All Rights Reserved. # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # ------------------------------------------------------------ echo "+ Calling JMSAdmin in batch mode to create objects" cat << EOT | java -DMQJMS_LOG_DIR=$MQ_JAVA_DATA_PATH/log -DMQJMS_TRACE_DIR=$MQ_JAVA_DATA_PATH/trace -DMQJMS_INSTALL_PATH=$MQ_JAVA_INSTALL_PATH com.ibm.mq.jms.admin.JMSAdmin def qcf(trQCF) HOSTNAME(Your MQ Server ) PORT(1417) CHANNEL(SYSTEM.DEF.SVRCONN) QMANAGER(NYXENAP1.QM) TRANSPORT(client) def q(troutQ) qu(Outbound Queue) PERSISTENCE(NON) TARGCLIENT(MQ) def q(troutSwit) qu(Swift Queue) PERSISTENCE(NON) TARGCLIENT(MQ) def q(trinQ) qu(inbound queue) PERSISTENCE(NON) TARGCLIENT(JMS) def q(trinPS) qu(inbound1) PERSISTENCE(NON) TARGCLIENT(JMS) def q(trinQNTP) qu(Queue hold message converted) PERSISTENCE(NON) TARGCLIENT(MQ) def tcf(trTCF) def t(trT) topic(MQJMS/PSIVT/Information) end EOT echo "+ Done!"
Then:
. ./PATH.sh ./IVTSetup
This will create a .binding file in PROVIDER_URL=file:/opt/mqm/java/peoplesoft/jndi directory. Verify the file before continuing.
Note : Are you required to rebuild the .binding file if any queue name changes. For rebuilding you need to delete .binding file the run the IVTSetup script.
NB queue short names these names will be referred in WAS / PeopleSoft and JMS converter.
Configure Websphere with MQM Resource
Login to admin server
Setup up MQ Environment files locations and Library Files.
Click on Environment → Manage WebSphere Varibles. You need to set JAVA_HOME. MQ_INSTALL_ROOT
Click on Resources → WebSphere MQ JMS Provider
Enter server name you are setting up ‘fs880tst’ and click on Apply
Click on WebSphere MQ Queue Connection Factories → New
Fill up Name , JNDI Host Port , Channel , Transport Type. All this information you will get it from MQ admins and IVTSetup file
Click on apply to save the changes
Go back to ‘Web Sphere MQ JMS Provider’ and select ‘WebSphere MQ Queue Destinations’ and click on new .
Fill up Name, JNDI name, Base Queue Name ( Where Converted messages with xml tags for Peoplesoft Inbound kept). Queue Manage Name, host, port Channel Name. All this info you will get it from IVTSetup / MQ Admins.
Setting up JMS Listener ports
Servers → Application Servers → fs880tst ( Server you are setting up ) Message Listener Service Listener Ports Click on New and setup Create New Port called trQCF which your connect factory. Define all required fileds Connection Factory and Destination JNDI name Reboot the Server1
Login as wsadmin
Cd bin ./stopServer.sh server1 ./startServer.sh server1 This will complete WebSphere Setup.
Click on Apply.
Configure Integration Broker with Inbound and Outbound nodes
Login to WebServer
http://hostname:8074/webserver/signon.html
AS VP1. → PeopleTools → Integration Broker → Node Definitions
Create required nodes. Here we have 3 nodes 2 for inbound 1 for outbound.
Add a New Values
Creating MQ_INBOUND for inbound messages
Click on Connectors set Connector ID = PSFTTARGET
Click save then Click on Transactions Add Transaction and add the message your want to configure. Message should be active in app designer. Fill the required information.
It should show something like this after setup. External name which will be used in IB properties file.
Setup same thing for other Inbound MQ_IN_CONF put the correct message name.
Adding Outbound Node Name.
Click on Connectors select connector ID as JMSTARGET and fill the required filed. These values must match you what we defined in IVTSetup and WebSphere Setup.
Save it.
Check the status in Monitor Message by using Ping Node. Remember only Outbound Node can be pinged not inbound.
This completed WebServer setup in Peoplesoft.
Edit integrationbroker.properties file
Login to unix server as wsadmin user
# cd /opt/psoft/fs/pshomet/webserv/server_name/website.ear/PSIGW/WEB-INF # cp integrationGateway.properties integrationGateway.properties.DDMM # vi integrationGateway.properties
Find JMS Configuration Section and Make sure Correct connection factory is enabled.
#The JNDIFactory Classnames for Weblogic, IPlanet, MQSeries. #ig.jms.JMSProvider.JNDIFactory.Weblogic=weblogic.jndi.WLInitialContextFactory #ig.jms.JMSProvider.JNDIFactory.IPlanet=com.sun.jndi.fscontext.RefFSContextFactory ig.jms.JMSProvider.JNDIFactory.MQSeries=com.sun.jndi.fscontext.RefFSContextFactory # Enter the number of Queue listners to instantiate ig.jms.Queues=1 (number of any queues you want to monitor) ig.jms.Queue1=trinPS ig.jms.Queue1.Provider=MQSeries # ig.jms.Queue1.MessageSelector= ig.jms.Queue1.JMSFactory=trQCF ig.jms.Queue1.Url=file:/opt/mqm/java/peoplesoft/jndi As we are getting the Message name and requestingNode from the Message. This is optional if your message does not have tag following will used as default. ig.jms.Queue1.MessageName=NMR_TRADE_TRANS_INB1 ig.jms.Queue1.MessageVersion=VERSION_1 ig.jms.Queue1.RequestingNode=MQ_INBOUND We changed this procedure as we wanted to get the message in one queue only. If you want two different queues. ig.jms.Queue2=trinPSNTP ig.jms.Queue2.Provider=MQSeries # ig.jms.Queue2.MessageSelector= ig.jms.Queue2.JMSFactory=trQCF ig.jms.Queue2.Url=file:/opt/mqm/java/peoplesoft/jndi ig.jms.Queue2.MessageName=NMR_BANK_CONF_INB1 ig.jms.Queue2.MessageVersion=VERSION_1 ig.jms.Queue2.RequestingNode=MQ_IN_CONF For Production Make sure you update the both the AppServers.
Start JMS Listener
Start
http://server_name:port/PSIGW/JMSListeningConnectorAdministrator?Activity=start
Stop
http://servername:8000/PSIGW/JMSListeningConnectorAdministrator?Activity=stop