ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Clustering » mqrc 2354 when Channel Table, wildcarded QM name and XA

Post new topic  Reply to topic
 mqrc 2354 when Channel Table, wildcarded QM name and XA « View previous topic :: View next topic » 
Author Message
Biju
PostPosted: Mon Sep 01, 2014 2:10 am    Post subject: mqrc 2354 when Channel Table, wildcarded QM name and XA Reply with quote

Acolyte

Joined: 03 Oct 2005
Posts: 71

Hello All,

We have 5 applications connecting to the same Queue Manager (QM1) using a single channel table. MSTDC is being used as the transaction manager.

Quote:
MQClient and Server both 7.5.0.2.
Queue Manager on Linux and Client on WIndows.


We have defined a channel table with proxy QM names in all the client connection channel definitions like QM1_APP1, QM1_APP2 ....QM1_APP5, one each for all the 5 apps. We set the environment variables and were successful in opening a Queue to put message using the sample amqsputc app.

Quote:
set MQCHLLIB=C:\
set MQCHLTAB=AMQCLCHL.TAB

amqsputc TESTQ QM1_APP1 - fails with 2058 as expected
amqsputc TESTQ *QM1_APP1 - Connection Successfull, XA not involved


So our applications are also using the * prefixed to the QM Name given to them and when they connect, they are getting an error with MQRC 2354. Error logs at the client side shows:

Quote:
8/28/2014 05:04:06 - Process(1044.25) User(NETWORK SERVICE) Program(msdtc.exe)
Host(HOST) Installation(mq)
VRMF(7.5.0.2)
AMQ5203: An error occurred calling the XA interface.

EXPLANATION:
The error number is 8 where a value of
1 indicates the supplied flags value of 0 was invalid,
2 indicates that there was an attempt to use threaded and non-threaded libraries in the same process,
3 indicates that there was an error with the supplied queue manager name 'qmname=*QM1_APP1',
4 indicates that the resource manager id of 0 was invalid,
5 indicates that an attempt was made to use a second queue manager called 'qmname=*QM1_APP1' when another queue manager was already connected,
6 indicates that the Transaction Manager has been called when the application isn't connected to a queue manager,
7 indicates that the XA call was made while another call was in progress,
8 indicates that the xa_info string 'qmname=*QM1_APP1' in the xa_open call contained an invalid parameter value for parameter name 'qmname',
9 indicates that the xa_info string 'qmname=*QM1_APP1' in the xa_open call is missing a required parameter, parameter name 'qmname', and
10 indicates that MQ was called in dynamic registration mode but cannot find the ax_reg and ax_unreg functions ! Either call MQ in non-dynamic registration mode or supply the correct library name via the AXLIB parameter in the xa_open string.
ACTION:
Correct the error and try the operation again.


Looking at the Queue Manager error logs, it says: (the xxx.xxx.xxx.xxx is the IP of the client machine)

Quote:
----- amqccita.c : 3803 -------------------------------------------------------
08/28/2014 05:04:07 AM - Process(22489.24859) User(mqm) Program(amqrmppa)
Host(hostname.us.dell.com) Installation(Installation1)
VRMF(7.5.0.2) QMgr(QM1)

AMQ9208: Error on receive from host hostname(xxx.xxx.xxx.xxx).

EXPLANATION:
An error occurred receiving data from <hostname> (xxx.xxx.xxx.xxx) over TCP/IP. This may be due to a communications failure.
ACTION:
The return code from the TCP/IP read() call was 104 (X'68'). Record these values and tell the systems administrator.
----- amqccita.c : 3803 -------------------------------------------------------

Now to verify the there are no config errors at the Queue Manager, the client app and the MSDTC configurations, we created another channel table with the actual Queue manager name in the channel definition and the connection and the whole application flow is successful.
Quote:
Application using QM1 as the Queue Manager name instead of *QM1_APP1

So it all comes down to the channel table definition and the usage of wildcard in the config file that triggers the issue. We have not asked IBM for help yet.

We can NOT use the actual QM name in the channel table because all the 5 applications need their own channel to be used to connect to the Queue Manager. The only thing application team can do is to change their config file where the QM name is provided.

Have you faced such an issue while using XA with wildcarded QM names? Is there a way to overcome this issue?

Quote:
Ref: http://hursleyonwmq.wordpress.com/2007/02/26/client-connection-wildcards/


Thanks,
Bijish.
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » mqrc 2354 when Channel Table, wildcarded QM name and XA
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.