Author |
Message
|
hcibm |
Posted: Fri Aug 20, 2004 9:35 am Post subject: weird 2058/MQRC_Q_MGR_NAME_ERROR err MQ client-Help needed! |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
Hi,
We are using MQ in a client setup with MQSERVER env. var. defined.
The weird thing is, the client can talk to one qmgr on the same box, but not to the other. This is all under one unix (aix) box.
To explain more clearly ...
client A (login-id A) can talk to qmgr B (login-id B), but not to qmgr C (login-id C). We test this scenario by changing the MQSERVER setting at A to point to either B or C, at a time. So A-->B works fine and not A-->C!
THERE IS NO TYPE in QMGR NAME or anything (everything is double/triple checked).
How can I use trace to see if anything is wrong on the server side? There are no errors in /var/mqm/errors (or /var/mqm/qmgr/C/errors) on either the client or the server side. But we have 2058 when the client pgm is running.
I have checked ulimit settings, env/shell settings and everything matches between B and C, still C doesn't work?????
Your help is really appreciated! Thanks.
Regards,
-hcibm |
|
Back to top |
|
 |
hcibm |
Posted: Fri Aug 20, 2004 9:39 am Post subject: |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
the other thing i forgot to mention is ...
for A-->C, where the 2058 problem occurs, amqsputc works just fine but not our client program that uses the same MQSERVER env. variable from the same shell!!!!! |
|
Back to top |
|
 |
mqonnet |
Posted: Fri Aug 20, 2004 10:34 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
One of the most common problems with MQ on Unix based systems is the environemnt settings. And people, including me have had this issue sometime or the other.
Not saying this is the problem or this would resolve your issue, but is worthwhile to check this out. At least 2 issues.
1) You issued export in one Unix shell/session and are trying to run your app from another session. This is very very common mistake.
2) You issued export from command prompt and did NOT change the export command in your .profile. What happens is, if you run something off the unix prompt it uses the current shell/session and hence amqsputc works for you. Without knowing the details of your application that seems to be failing, i would say that it is likely that your application is using .profile to create a sub-shell/session and NOT using the current session. And since you did NOT change the export value in .profile, it picks up the old one. This again is a very common mistake.
I guess Brandon should add this to the tips/tricks/faq session. Let me know brandon if you want me to add this.
Hope this helps.
Cheers
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
hcibm |
Posted: Fri Aug 20, 2004 11:28 am Post subject: |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
Kumar,
I totally understand both the scenarios that you mentioned below and both are not true in our case .
Right after using amqsputc, the VERY NEXT COMMAND (in the same shell) is our pgm invocation and it fails with 2058. There is NO sub-shell invocation or a .profile run in between.
Regards,
-Himakar |
|
Back to top |
|
 |
gunter |
Posted: Fri Aug 20, 2004 12:00 pm Post subject: |
|
|
Partisan
Joined: 21 Jan 2004 Posts: 307 Location: Germany, Frankfurt
|
Possibly your program always connects to the default queue manager. _________________ Gunter Jeschawitz
IBM Certified System Administrator - Websphere MQ, 5.3 |
|
Back to top |
|
 |
hcibm |
Posted: Fri Aug 20, 2004 12:04 pm Post subject: |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
Our failing program displays the queue manager name at the start of the program and it is the correct one that we are trying to talk to .......
Regards,
-hcibm |
|
Back to top |
|
 |
vennela |
Posted: Fri Aug 20, 2004 12:38 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Is the QMGR running on C. Did you ever check that.... just trying to think of what you might have missed... |
|
Back to top |
|
 |
hcibm |
Posted: Fri Aug 20, 2004 12:41 pm Post subject: |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
Sorry I don't understand your question exaclty. The qmgr is running on AIX and the module that make the call to mq is a C pgm. Please let me know if your question was different. Thanks.
Regards,
-hcibm |
|
Back to top |
|
 |
PeterPotkay |
Posted: Fri Aug 20, 2004 1:21 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Quote: |
Our failing program displays the queue manager name at the start of the program and it is the correct one that we are trying to talk to .......
|
Yeah, but are you always explicitly coding the QM name in the MQCONN call? Either QMB or QMC?
venela's question was "Is QMC running?" _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
hcibm |
Posted: Fri Aug 20, 2004 1:29 pm Post subject: |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
oh sorry, my bad ... now i understood vennela's question ... sorry i need to take a break ...
yes, qmgr on C is definitely running, since i was able to do an amqsputc (and also got the msg on the other side) just before i use my client pgm.
-hcibm |
|
Back to top |
|
 |
PeterPotkay |
Posted: Fri Aug 20, 2004 1:30 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Quote: |
...are you always explicitly coding the QM name in the MQCONN call? Either QMB or QMC?
|
_________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
hcibm |
Posted: Fri Aug 20, 2004 1:31 pm Post subject: |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
also fyi ... the qmgr name is printed by our pgm when it comes up... it is not hardcoded, it is read from the database.
-hcibm |
|
Back to top |
|
 |
hcibm |
Posted: Fri Aug 20, 2004 1:42 pm Post subject: |
|
|
Novice
Joined: 03 Aug 2004 Posts: 18
|
Peeter, i just replied to your q ... thanks |
|
Back to top |
|
 |
gunter |
Posted: Sat Aug 21, 2004 5:07 am Post subject: |
|
|
Partisan
Joined: 21 Jan 2004 Posts: 307 Location: Germany, Frankfurt
|
Quote: |
Our failing program displays the queue manager name at the start of the program and it is the correct one that we are trying to talk to ....... |
My last serios problem was an application, that required a queuemanager as input, reported this and used the default queuemanager. Don't trust the output from an application without knowing the source.
If amqsputc works, the problem ist the application, not the configuration and not the queuemanager.
It's better to use amqscnxc than amqsputc if you have problems with client connections. _________________ Gunter Jeschawitz
IBM Certified System Administrator - Websphere MQ, 5.3 |
|
Back to top |
|
 |
tkane |
Posted: Mon Aug 23, 2004 8:06 am Post subject: |
|
|
 Voyager
Joined: 23 Dec 2002 Posts: 82 Location: Kansas City
|
one other idea,
I do lots of MQ support, not a lot of coding, but run amqsputc and amqsgetc frequently to test.
For convience I test with a script (on aix) similar to the one below:
Code: |
export MQSERVER="chl-name/TCP/host-name(1414)"
echo $MQSERVER
QL="TEST.Q"
echo Testing put $QL
/usr/mqm/samp/bin/amqsputc $QL
echo Testing get $QL
/usr/mqm/samp/bin/amqsgetc $QL
|
Notice that I don't code the queue manager name that I connect to. For me that's just because it's easier.
But I control who I connect to with the channel name and the host name and port number.
I can't remember getting a 2058 with this type of test. 2059's yes. But not 2058's.
Now the sample put and get don't echo the qmgr names that they connect to, but that field could be picked up out of the QMName field on the MQCONN call, no?
Good Luck.
Tom |
|
Back to top |
|
 |
|