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 » General IBM MQ Support » MQ client dotnet application connect remote MQ server fail

Post new topic  Reply to topic Goto page 1, 2  Next
 MQ client dotnet application connect remote MQ server fail « View previous topic :: View next topic » 
Author Message
hklbj
PostPosted: Tue Dec 13, 2011 9:22 pm    Post subject: MQ client dotnet application connect remote MQ server fail Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

We have plan to upgrad the MQ client from ver. 6 to ver. 7 due to ver.6 not support Windows 2008 (64 bit). However we have some issue to connect the remote MQ server with strange Nmqi exception. Pls help.

Error log:
Quote:
IBM.WMQ.Nmqi.NmqiException: Exception of type 'IBM.WMQ.Nmqi.NmqiException' was thrown.
at IBM.WMQ.Nmqi.NmqiTools.GetQueueManagerInfo(NmqiEnvironment env, NmqiMQ mq, Hconn hconn)
at IBM.WMQ.Nmqi.UnmanagedHconn.UpdateHconn(NmqiMQ mqInstance, Phconn phconn)
at IBM.WMQ.Nmqi.UnmanagedNmqiMQ.MQCONNX(String pQMgrName, MQCNO& pConnectOpts, Hconn parentHconn, Phconn phconn, Int32& pCompCode, Int32& pReason)
at IBM.WMQ.Nmqi.UnmanagedNmqiMQ.MQCONNX(String pQMgrName, MQConnectOptions pConnectOpts, Phconn phconn, Int32& pCompCode, Int32& pReason)
at IBM.WMQ.MQQueueManager.Connect(String queueManagerName)
at IBM.WMQ.MQQueueManager..ctor(String queueManagerName, String Channel, String ConnName)
at XonWinAppUtilLibrary.MQGet.InitQueue() in C:\project\dotNet\XonFramework\WinAppFramework\2.0\XonWinAppUtilLibrary\MQGet.vb:line 276



Remote MQ server:
Ver 6.0.2.6 on Win 2003 (32 bit)

MQ client:
Ver 7.0.1.7 on Win XP sp3

Code:
   mqQMgr = New MQQueueManager(mConfig.QueueManager, channelName, connectionName)
Back to top
View user's profile Send private message
hklbj
PostPosted: Tue Dec 13, 2011 9:24 pm    Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

After searching the web, found this link http://www-01.ibm.com/support/docview.wss?uid=swg1IC67868 which is mention about the CCSID. However, we have no idea on setting the CCSID of MQQueueManager constructor.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Dec 14, 2011 5:24 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

hklbj wrote:
However, we have no idea on setting the CCSID of MQQueueManager constructor.


You have no idea how to set it, or no idea what to set it to?

Also (and perhaps not directly related to your problem) why are you using the latest v7 client with a back level v6 queue manager? While in theory at least it should work, as you're having problems why not at least consider applying maintenance to the queue manager or accelerating the upgrade to v7?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
JasonE
PostPosted: Wed Dec 14, 2011 5:28 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Does the userid this is running under have INQ rights at the queue manager level? Its thrown from code which opens, inquires and then closes the queue manager object, driven straight after the connect.
Back to top
View user's profile Send private message
hklbj
PostPosted: Wed Dec 14, 2011 6:16 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Vitor:
In dotnet version MQ client, it only required to pass the remote qmgr name, channel name & connection name. (we did it with MQ client ver. 6.0). We use the latest ver because we just want to upgrade our application using MQ client ver 7.

JasonE:
the channel has set with MAC user ID already, so no user id pass to constructor. Exception thrown from creating the Qmgr instance.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Dec 14, 2011 6:50 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

hklbj wrote:
Vitor:
In dotnet version MQ client, it only required to pass the remote qmgr name, channel name & connection name. (we did it with MQ client ver. 6.0).


But you're not using v6 now, you're using v7.

And you're the one who brought up CCSID.

hklbj wrote:
We use the latest ver because we just want to upgrade our application using MQ client ver 7.


I repeat - why are you using a v7 client on a v6 queue manager? What advantage do you perceive? Why is the v6 queue manager not on the latest maintenance, i.e. on a level of v6 that pre-dates the v7 client?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
hklbj
PostPosted: Wed Dec 14, 2011 7:01 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Vitor,

upgrade because "ver.6 not support Windows 2008 (64 bit)", our client machine would like to upgrade from win 2003 to win 2008
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Dec 14, 2011 7:08 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA


_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
JasonE
PostPosted: Thu Dec 15, 2011 1:37 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Oh for PM on these forums...

Can you take a trace on the client, zip it up and make it downloadable from somewhere and I'll take a quick look. I'd PM you my email address but PM is disabled
Back to top
View user's profile Send private message
hklbj
PostPosted: Thu Dec 15, 2011 1:40 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Hi Jason,

Actually I can run the amqsputc with MQ clietn 7 without any issue. but the dotnet application have been thrown out the exception which I have no idea how to fix it.

Back to top
View user's profile Send private message
JasonE
PostPosted: Thu Dec 15, 2011 1:51 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Trace will trace .net, and as you are unmanaged (ie going via the C layer) it will also catch that (in theory)... just strmqtrc -t detail -t all -d -1, run .net app which throws exception, endmqtrc, wait 30 secs, zip up the TRC files and shove somewhere I can get to and I'll have a quick look.
Back to top
View user's profile Send private message
hklbj
PostPosted: Thu Dec 15, 2011 2:40 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Jason
Thanks for your advise, I will try it and let you know the result. Where should i put the zipped trace file for your reference?
Back to top
View user's profile Send private message
hklbj
PostPosted: Thu Dec 15, 2011 2:43 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

I have uploaded the zipped trace file here

http://www.sendspace.com/file/22etbl
Back to top
View user's profile Send private message
JasonE
PostPosted: Thu Dec 15, 2011 4:15 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

I was almost right, wrong API call

The problem occurs because the .NET app, after connecting, issues an MQOPEN on the qmgr object. This is rejected with a 2035 (not authorized).

The app is running under the userid 'SYSTEM'. What o/s is the server? What does "dspmqaut -m QM -t qmgr -p SYSTEM" show on the server?

<edit>Just reread - you said you use MCAUSER on the channel - what does dspmqaut on that userid show on the server?
Back to top
View user's profile Send private message
hklbj
PostPosted: Thu Dec 15, 2011 4:26 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jun 2007
Posts: 34
Location: HK

Server OS is Win 2003
user "SYSTEM" has no access right on the qmgrs
the MACUser is "mqapps"
the user can connect qmgr and also get/put/inq about the q objects.
For wrong API call, so what is the correct API to be used instead, we keep the code for MQ client ver 6 but it works without issue? Thanks.

Do you mean the dotnet app already connect the qmgr successful?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General IBM MQ Support » MQ client dotnet application connect remote MQ server fail
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.