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 » IBM MQ API Support » client connection.

Post new topic  Reply to topic
 client connection. « View previous topic :: View next topic » 
Author Message
bilal
PostPosted: Fri Mar 08, 2002 4:36 pm    Post subject: Reply with quote

Newbie

Joined: 31 Jan 2002
Posts: 5
Location: San Fran

Hi,
On the server machine (Windows2000) I have a user USER_1 and is a member of
mqm group.I have created the same user USER_1 on the client machine(WindowsNT).
when I log on the client machine as USER_1, I am able to send & recev msgs to
MQSeries server just fine. Off course if I log on to the client machine as some
other user it will not work.
I believe there is a way to specify the user in some API so that no mater which user is logged on to the client machine, the application will be able to connect, put & get msgs from the server.
But I am not having much luck. Any help in this regard will be highly appreciated.
I am using C MQI.
Regards
Bilal


Back to top
View user's profile Send private message
kolban
PostPosted: Fri Mar 08, 2002 6:43 pm    Post subject: Reply with quote

Grand Master

Joined: 22 May 2001
Posts: 1072
Location: Fort Worth, TX, USA

On Windows NT and 2000, the client obtains the current user identity and sends that information with the MQ client request.

It sounds like you want to set the MCAUserid attribute to be a named user on the MQSeries server SVRCONN channel definition. This will mean that whomever connects to that channel definition they will always and only be the explicitly named userid.
Back to top
View user's profile Send private message
bilal
PostPosted: Fri Mar 08, 2002 9:41 pm    Post subject: Reply with quote

Newbie

Joined: 31 Jan 2002
Posts: 5
Location: San Fran

Is this how we specify MCAUserId on the server ?
In MQSeries explorer select the Q Manager, select advance, select channel,
Properties and specify MCAUserid. Please correct me if I am wrong.
On the client side were do we specify this userid.
Is this MQMD header ?

Thanks
bilal
Back to top
View user's profile Send private message
kolban
PostPosted: Sat Mar 09, 2002 10:02 am    Post subject: Reply with quote

Grand Master

Joined: 22 May 2001
Posts: 1072
Location: Fort Worth, TX, USA

Specify the MCAUserid on the server. Nothing needs be done on the client. Whatever the client presents the server in terms of authentication will be ignored and the server will use the MCAUserid value always.
Back to top
View user's profile Send private message
gvsagar
PostPosted: Wed May 08, 2002 11:06 am    Post subject: Reply with quote

Newbie

Joined: 30 Apr 2002
Posts: 8

Hi,
I have the same problem, my server machine is an AS/400 box, When I am opening the queue on the server machine through my client program(Windows NT, C++ MQAPI) I am getting 2035 authentication faild response. It seams my request is going with my local NT user id, and not with what I specified in the channel definition of my client program,
Please let us know how to solve this issue,

Thanks,
Sagar.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu May 09, 2002 6:27 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

Whichever SRVCONN channel you use, change the MCAUSERIDENTIFIER field to hold an ID that has authority for what you want to do. ANYONE that connects thru this channel will pick up this ID, regardless of what the Client ID is. (This can be both good and bad, of course).

Or leave this field blank, and insure that your Client ID is given the correct authority on the QM.


_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
gvsagar
PostPosted: Thu May 09, 2002 11:04 am    Post subject: Reply with quote

Newbie

Joined: 30 Apr 2002
Posts: 8

Thanks Peter,
After changing the MCA user id at the server channel my application is working fine, now I am able to put messages.
I have one more basic question:
Once I put the message on the queue, the immidieate I have to get the result of the message, for this I have to connect to some reply queue and I have to get the message back from the reply queue, but how I can make sure that I got the same response for the smae request, is there any way like with out putting any logical information in the resquest and reply message we can do.

Thanks and regards,
sagar.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu May 09, 2002 12:19 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

Sure. After the put of the request, capture the MessageID in the MQMD that the queue manager created for you (lets say it turned out to be 123456789). The replying app then is expected to move the MessageID of the request (123456789) to the CorrelID of the reply message. Your app then goes to do a GET, but right before, it moves the saved PUT-MessageID(123456789) into the CorrelID of the GET (and make sure the MessageID in the MQMD on the GET is set to null). This will insure that you only are returned a message who's CorrelID is 123456789, the reply you want!

There are other models, like you can ignore the MessageID field and instead use the CorrelID from the PUT (ABCDEFGHI), and then do a GET for a message with CorrelID (ABCDEFGHI). This is called CorrelID to CorrelID. Or, you can do a MessageID to MessageID model, but this isn't recomended, since now you have 2 messages in your system with the same MessageID (the request and the reply).

On the PUT, you can have the Queue Manager create the MessageID and/or CorrelID, or you can have your app do it.


All this of course means that the replying app needs to know how to handle the MessageID and CorrelID fields. When doing a PUT, the putting application should use the Report Options field to tell replying apps how to treat these fields when building the reply. A well written replying app should always check the Report Options field. Yes, today the replying app only needs to handle Application XYZ's requests, and they always want CorrelID to CorrelID, but whose to say that Application ABC won't come down the pike and require MessageID to CorrelID?


_________________
Peter Potkay
MQSeries Certified Specialist,Developer

[ This Message was edited by: PeterPotkay on 2002-05-09 20:08 ]

[ This Message was edited by: PeterPotkay on 2002-05-09 20:10 ]
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » client connection.
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.