Author |
Message
|
jmarshall |
Posted: Wed Aug 10, 2011 11:08 am Post subject: V5 to V7 channel problem?? |
|
|
Novice
Joined: 04 Jan 2006 Posts: 12
|
Im upgrading from 5 to 7 and have already seen many changes including new jar files required to use the Java API. I think I got past all of those issues but get a reason code of 2540 - MQRC_UNKNOWN_CHANNEL_NAME. I have a Server-connection channel setup on the new install and have it named correctly in the code but, the "overall channel status" shows as Inactive. I right click on the channel and select start and get "The request to start the channel was accepted", but it never does start. Any clues/hints? |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Aug 10, 2011 11:13 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
SVRCONNs never go to "started" state.
Use "Channel Status" to see active instances.
Your MQRC is likely because you haven't updated your code enough or are still using an old class. Go back to basics and review the v7 sample apps. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 10, 2011 11:13 am Post subject: Re: V5 to V7 channel problem?? |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jmarshall wrote: |
Any clues/hints? |
SVRCONN channels don't start in the sense sender channels start.
Is it safe to assume you've upgraded both client and queue manager to v7?
What client connection method is in use in the code?
How have you confirmed the name is correct?
Does amqsputc (or similar) have any difficulty using the channel? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jmarshall |
Posted: Wed Aug 10, 2011 11:29 am Post subject: |
|
|
Novice
Joined: 04 Jan 2006 Posts: 12
|
I do not have a client....only the server side. Client side code utilizes the Java API for connecting and such so the "put" is performed via the MQQueue objects put method. The channel name is also set in the code by setting the MQEnvironment.channel variable. Does that make sense? |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 10, 2011 11:37 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jmarshall wrote: |
I do not have a client.... |
Yes you do.
jmarshall wrote: |
The channel name is also set in the code by setting the MQEnvironment.channel variable. |
Found your client.
It's just not separately installed, and created implicitly within your code.
jmarshall wrote: |
Does that make sense? |
Yes it does and sounds a lot like you have mismatched jar files and/or incorrect use of the MQEnvironment table. Verify you really are using the v7 jar files against your v7 queue manager and you've made all the code changes needed to establish that kind of connection in a v7 Java app. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jmarshall |
Posted: Wed Aug 10, 2011 12:10 pm Post subject: |
|
|
Novice
Joined: 04 Jan 2006 Posts: 12
|
I went and made sure new jars were in place...actually committed them to our code repository this time. Im executing the Java program from one server which connects to the queue on another server, srv-emp908V and get the error below......
Im not doing anything different from the old setup so not sure what else to look at.
com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2540'. Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2540;AMQ9204: Connection to host 'srv-emp908V(1414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2540;AMQ9520: Channel not defined remotely. [2=srv-emp908V(1414),3=Emp]],3=srv-emp908V(1414),5=RemoteConnection.analyseErrorSegment] |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 10, 2011 12:17 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Ok, my lack of knowledge in terms of Java is legend on this forum. But I would have expected a channel name somewhere in that error.
So for the benefit of the Java-blind please post:
- the bit of Java that defines the MQEnvironment variable
- the output of a DISPLAY command for the matching SVRCONN channel
- the output of a DISPLAY command for the listener on the same queue manager showing that it's using port 1414
- some evidence that this queue manager is on host srv-emp908V
On a 1000/1 shot, also prove you can telnet to port 1414 on that box from where you're running the Java. I see the word "rejected" and think firewalls.
Did you try amqsputc from the same box to that queue manager? Did that work? This would at least identify the problem as client-related or Java related. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jmarshall |
Posted: Wed Aug 10, 2011 12:42 pm Post subject: |
|
|
Novice
Joined: 04 Jan 2006 Posts: 12
|
Below is where the port and channel are defined in the Java code. Forgive my lack of MQ knowledge but I do not use the amqsputc functionality? I define a queue and call the put method on it from within the code. Checked the firewall and it is not on and can telnet to port 1414
MQEnvironment.port = 1414;
MQEnvironment.channel = "Empire"; |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 10, 2011 12:46 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jmarshall wrote: |
Below is where the port and channel are defined in the Java code. |
Very nice. Now post the rest of the information I asked for.
jmarshall wrote: |
Forgive my lack of MQ knowledge but I do not use the amqsputc functionality? |
It's a non-Java sample application that does what your Java is trying to do. I'm attempting to determine (or help you determine) if it's a problem with the Java configuration or the client configuration.
jmarshall wrote: |
can telnet to port 1414 |
At the risk of being pedantic, can you telnet to the box or telnet specifically to port 1414 on that box? If you can telnet to port 1414, do you see the error that causes in the WMQ logs for that queue manager? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 10, 2011 12:58 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
jmarshall wrote: |
Below is where the port and channel are defined in the Java code. Forgive my lack of MQ knowledge but I do not use the amqsputc functionality? I define a queue and call the put method on it from within the code. Checked the firewall and it is not on and can telnet to port 1414
MQEnvironment.port = 1414;
MQEnvironment.channel = "Empire"; |
Verify the spelling of the channel name. CASE MATTERS.
Verify that the channel is of type svrconn  _________________ MQ & Broker admin |
|
Back to top |
|
 |
jmarshall |
Posted: Wed Aug 10, 2011 1:00 pm Post subject: |
|
|
Novice
Joined: 04 Jan 2006 Posts: 12
|
Meant to comment more on my last....sorry:
Not sure how to get the first 2 pieces of info you requested below....Im on the server in question, 908V and can see the QManager there that I setup. In the code, I create a QManager: qMgr = new MQQueueManager("QM_Empire"). My code has been in place for years and has worked on the older version up until installing V7 on a new server.
- the output of a DISPLAY command for the matching SVRCONN channel
- the output of a DISPLAY command for the listener on the same queue manager showing that it's using port 1414
- some evidence that this queue manager is on host srv-emp908V
I also verified it is a server-connection and spelling is correct as suggested by fjb_saper |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 10, 2011 1:07 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Then check with dmpmqaut, dspmqaut that the user you are using has enough priviledges... and check your SSL setup.
Could be your cert does not have the correct peer values?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Aug 11, 2011 1:32 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
All good things to know, but they would not throw that specific error code if they were wrong.
The channel name in the client app is not the exact same name as the SVRCONN channel defined on the Queue Manager you are connecting to. This may not be the same Queue Manager you THINK you are connecting to. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|