Author |
Message
|
techno |
Posted: Fri Jan 24, 2003 6:19 pm Post subject: MQ Client : 2058 |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
I have installed MQ server on Win 2000 m/c, a trial version.
Created a Q Manger.
Wanted to connect to one of the queues, through client connection. So, created a client-channel and server channel. Written a java client to connect to QManager. I am getting 2058.
Looked at some of the documentation. Found some info saying : This reason code can also occur if an MQSeries client application attempts to
connect to a queue manager within an MQSeries-client queue-manager group.
Would you please let me know what is 'MQSeries-client queue-manager group'.
Is it wrong to connect to server through client-connection if the server is local?
Please suggest me.
thanks
Shiva. |
|
Back to top |
|
 |
yaakovd |
Posted: Sat Jan 25, 2003 10:26 am Post subject: |
|
|
Partisan
Joined: 20 Jan 2003 Posts: 319 Location: Israel
|
Hi,
You need server connection channel - you can use SYSTEM.ADMIN.SVRCONN or create application dedicated channel.
Check if you provide correct QMgr name and port number. _________________ Best regards.
Yaakov
SWG, IBM Commerce, Israel |
|
Back to top |
|
 |
techno |
Posted: Sat Jan 25, 2003 2:51 pm Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
I created server-connection channel also.
Created client-con and server-con channels with name
'SERVER.CHANNEL'
THANKS. |
|
Back to top |
|
 |
yaakovd |
Posted: Sun Jan 26, 2003 12:09 am Post subject: |
|
|
Partisan
Joined: 20 Jan 2003 Posts: 319 Location: Israel
|
techno wrote: |
Created client-con and server-con channels with name
'SERVER.CHANNEL' |
???
I mean sever connection channel on QMgr. How you created 2 objects with same name?
Which host name uses your application - 'localhost'? Try computer name or IP address. _________________ Best regards.
Yaakov
SWG, IBM Commerce, Israel |
|
Back to top |
|
 |
techno |
Posted: Sun Jan 26, 2003 9:00 am Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
This is what I have done:
Created server-connection channel: SERVER.CHANNEL
Created client-connection channel: SERVER.CHANNEL, with connection name LOCALHOST(1515)
Appreciating your help.
Shiva. |
|
Back to top |
|
 |
yaakovd |
Posted: Sun Jan 26, 2003 10:33 am Post subject: |
|
|
Partisan
Joined: 20 Jan 2003 Posts: 319 Location: Israel
|
I guess you replaced server connection channel with other.
Check in MQSeries Explorer which channel is exist with name SERVER.CHANNEL.
When you create connection in application use IP address, "1515", QMgr name, SERVER.CHANNEL.
Try add MUSR_MQADMIN as MCA user in channel.
Try use SYSTEM.ADMIN.SVRCONN (also add MUSR_MQADMIN) in your application it autocreated on Win 2000.
Good luck... _________________ Best regards.
Yaakov
SWG, IBM Commerce, Israel |
|
Back to top |
|
 |
RogerLacroix |
Posted: Sun Jan 26, 2003 10:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Yaakovd, please open and reread the MQ Intercommunication manual because you are not giving valid information.
First of all, a client channel and a SVRCONN channel MUST have the same name to allow the user to use a Client Channel Table with a MQ client application. But Java applications do NOT use Client Channel Tables, hence, a client channel is irrelevant. All you need is a SVRCONN channel.
Secondly, you should NOT be telling someone to use 'SYSTEM.ADMIN.SVRCONN ' for a regular client application. It has special privileges and is meant to be used by a MQ administration tool. A better choice to use for a quick test is 'SYSTEM.DEF.SVRCONN'.
Third, it is really difficult to screw-up a SVRCONN channel, so therefore, 'SERVER.CHANNEL' should be fine.
Fourth, do NOT add the UserId of MUSR_MQADMIN to the MCA field in SVRCONN channel definition because of a nice hole create by IBM, Java applications get FULL authority when it is left blank and the user does NOT fill-in the MQEnvironment.userID field.
Techno, check the following items on the box with the queue manager:
- Do you have a listener running?
- What port is the Listener listening on? i.e. 1515 or 1414 or 1415 or 1514
- Is the SVRCONN channel defined on the queue manager that has the listener running against it? (i.e. more than one queue manager on the box)
- Lastly, all objects in MQ are case sensitive. i.e. 'server.channel' is NOT the same as 'SERVER.CHANNEL' - the same thing is true queue manager names.
Techno, if you are using client connection mode (vs binding mode), then did you code the following lines in your Java program (before MQQueueManager() ):
Code: |
MQEnvironment.hostname = '127.0.0.1'; // localhost
MQEnvironment.channel = 'SERVER.CHANNEL'; // or 'SYSTEM.DEF.SVRCONN'
MQEnvironment.port = 1515; // or 1414 or 1415 |
later
Roger... _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
yaakovd |
Posted: Sun Jan 26, 2003 11:29 pm Post subject: |
|
|
Partisan
Joined: 20 Jan 2003 Posts: 319 Location: Israel
|
RogerLacroix wrote: |
Java applications do NOT use Client Channel Tables, hence, a client channel is irrelevant. All you need is a SVRCONN channel. |
This exactly what I tried to explane. Sorry if it was not clear enough.
RogerLacroix wrote: |
Secondly, you should NOT be telling someone to use 'SYSTEM.ADMIN.SVRCONN ' for a regular client application. ... |
I suggested it as possible option and not for regular using.
Thank for your comments.
BTW, error was 2058... _________________ Best regards.
Yaakov
SWG, IBM Commerce, Israel |
|
Back to top |
|
 |
leongor |
Posted: Mon Jan 27, 2003 9:27 am Post subject: |
|
|
 Master
Joined: 13 May 2002 Posts: 264 Location: Israel
|
I don't think that someone need use SYSTEM and DEFAULT objects at all.
Of course in this situation where someone just plays with trial version, it doesn't matter.
But in real life SYSTEM.DEF.SVRCONN isn't better choice than SYSTEM.ADMIN.SVRCONN.
There is no special functionality in SYSTEM.ADMIN.SVRCONN except MQExplorer use it to show remote Qmgr.
But if you use other tool ( MQMON ) you can choose any channel you want including SYSTEM.DEF.SVRCONN.
If you change some default object in MQ (queue, channel, process ...), you then change every new object to be created with the same properties.
So if you set MCAUSER for SYSTEM.DEF.SVRCONN you set it for all future server connection channels.
If you use SYSTEM.DEFAULT.LOCAL.QUEUE and damaged it you won't be able to create any local queues ( without media recovery ).
People, to create queue or channel takes a moment.
Don't use SYSTEM or DEFAULT ones. _________________ Regards.
Leonid.
IBM Certified MQSeries Specialist. |
|
Back to top |
|
 |
|