User Tools

Site Tools


tech:psoft:ib_to_mq

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

http://hostname:9090/admin

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
tech/psoft/ib_to_mq.txt · Last modified: 2024/06/21 12:04 by 127.0.0.1