Problem:
The Enterprise Developer connection to MQ fails.
On the same PC, MFE does connect and work succesfully to MQ .
On statrup of the CICS region.
130808 09483458 7480 BANKDEMO JES000042I SSTM not enabled: CICS 09:48:34
130808 09483478 7480 BANKDEMO CASXO0019S Switch Load Module for resource "MQSeries support" failed to load RM XA resources, returned pointer was null 09:48:34
130808 09483498 7480 BANKDEMO CASXO0023S Severe error detected in "MQSeries support" XA interface, RM interface disabled 09:48:34
We use MQclient v7.1. And have all the MQ managers defined in a MQCHLTAB file. and we do have the environment variable setup for it. MQSERVER environment variable limits you to be able to connect to only one MQ server. Where with the MQCHLTAB file you can list multiple MQ servers that are available. There are some applications that uses other MQ managers on the same PC. Keep in mind that we are at a client where the various developers are across multiple environments. Example all NTE applications uses MQ to another server for instance, and those applications are also COBOL. NTE is a client specific application that mimics CICS. That means that all the online applications are impacted. Where all the SOA transactions would run via another MQ server. And depending what the developers do, one day they can work on a NTE application, the next on SOA.
MQSERVER and MQCHLTAB environment variables cannot be used at the same time either. I cannot recall which way around now, but one is overridden by the other. That is why we use MQCHLTAB.
Resolution:
The variable MQCHLTAB is only for IBM WebSphere and would NOT be recognised by ED. It would typically be set in the OS system environment so that IBM WebSphere can pick it up.
MQSERVER however IS checked in ED so you could set this in the region config where is should only affect that ED region and on the machine in general.
In addition the IBM docs state that MQSERVER overrides the MQCHLTAB definition, but if MQSERVER is defined in a local/user environment (i.e. not in the system env) this will only affect processes that are subsequently run in that same user/local environment. http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.csqzaf.doc/cs12310_.htm
Customer installed MQ Series Client v7.5 which includes MQ Transaction Client in it and which is required by ED. Then they set the MQSERVER on Region Level as follows: [ES-Environment] MQSERVER=ChannelName/TransportType/ConnectionName
They were still getting: CASXO0001S XA Resource Manager initialization error. Resource MQ open failed, reason -00005 07:17:45
In the product documenation this message is explained as: CASXO0001S The Resource manager for the XAT resource returned a non-zero value to the xa_open call. Where the return code means :
The return codes are:
******
•-5 Invalid arguments were given
******
So finally they edited the Open Sting for the MQ XA Resource by adding:
QMNAME=<queue_manager_name>,TPM=CICS,AXLIB=casaxlib,<MQI_channel_name>,TCP,<The network address of the queue manager>(<The port of the queue manager, usually 1414>)
And the connection to MQ was successful.
#CASXO0019SCASXO0023SMQ
#EnterpriseDeveloper
#MFDS
