|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
|
|
Java MQ Client 8.0 with very old MQSeries server |
« View previous topic :: View next topic » |
Author |
Message
|
marco75 |
Posted: Wed Feb 08, 2017 7:13 am Post subject: Java MQ Client 8.0 with very old MQSeries server |
|
|
Newbie
Joined: 08 Feb 2017 Posts: 2
|
Hi everyone,
I have a current issue with connecting from a Java Client to a MQSeries Server:
Client: Java with MQ Libs 8.0.0.5 on Windows
Server: MQSeries 2.21 on OpenVMS Alpha 7.2-1
The code for connecting is straight forward:
Code: |
Hashtable<String, Object> properties = new Hashtable<String, Object>();
properties.put(CMQC.HOST_NAME_PROPERTY, hostname);
properties.put(CMQC.PORT_PROPERTY, port);
properties.put(CMQC.CHANNEL_PROPERTY, channel);
properties.put(CMQC.TRANSPORT_PROPERTY, CMQC.TRANSPORT_MQSERIES_CLIENT);
properties.put(CMQC.USER_ID_PROPERTY, username);
properties.put(CMQC.PASSWORD_PROPERTY, password);
queueManager = new MQQueueManager(qmgrName, properties);
|
This works fine for other MQ server instances of the customer in version 6 and 7. With the version 2.21 server I get the following Exception during instantiation of the MQQueueManager:
Quote: |
com.ibm.mq.jmqi.JmqiException: CC=2;RC=2067;AMQ9530: Program could not inquire queue attributes. [1=2067,5=???]
com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2067'.
[...]
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2067;AMQ9530: Program could not inquire queue attributes. [1=2067,5=???]
at com.ibm.mq.jmqi.internal.JmqiTools.getQueueManagerInfo(JmqiTools.java:785)
at com.ibm.mq.jmqi.remote.impl.RemoteSession.loadInfo(RemoteSession.java:2011)
at com.ibm.mq.jmqi.remote.impl.RemoteSession.getName(RemoteSession.java:2053)
at com.ibm.mq.jmqi.remote.api.RemoteHconn.getName(RemoteHconn.java:757)
at com.ibm.mq.ese.intercept.JmqiConnInterceptorImpl.validate(JmqiConnInterceptorImpl.java:418)
at com.ibm.mq.ese.intercept.JmqiConnInterceptorImpl.afterConnect(JmqiConnInterceptorImpl.java:269)
at com.ibm.mq.ese.intercept.JmqiConnInterceptorImpl.afterJmqiConnect(JmqiConnInterceptorImpl.java:167)
at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:380)
at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:560)
at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:916)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:235)
... 12 more
|
What is confusing is that the message states that inquiry of queue attributes failed. The error happens during inquiry of the QueueManager though.
At the moment I'm out of ideas. Are there any options that would cause the client to connect in a compatability mode? According to the IBM website the V8.0 client should be compatible with any previous level of MQ. I am well aware though that this MQ version is out of support for more than a decade and I recommended to update the server but the customer is not able to. Any help would be greatly appreciated.
Best regards,
Marco |
|
Back to top |
|
|
mqjeff |
Posted: Wed Feb 08, 2017 7:19 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
try removing the userid and password... _________________ chmod -R ugo-wx / |
|
Back to top |
|
|
gbaddeley |
Posted: Wed Feb 08, 2017 2:57 pm Post subject: |
|
|
Jedi Knight
Joined: 25 Mar 2003 Posts: 2527 Location: Melbourne, Australia
|
On the qmgr, try setting inq authority on the qmgr object, to a group that the connecting userid is in. Most likely, the MCAUSER on the SVRCONN channel. _________________ Glenn |
|
Back to top |
|
|
marco75 |
Posted: Thu Feb 09, 2017 5:07 am Post subject: |
|
|
Newbie
Joined: 08 Feb 2017 Posts: 2
|
Removing username/password unfortunately did not change the behavior.
The MCAUSER of the channel has the following authorizations on the QueueManager object: inq, set, connect, altusr, crt, dlt, chg, dsp, setid, setall. So in my understanding it should not be an authorization problem. In the trace log I found the following:
Quote: |
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) [__________]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) [MQINQ <<]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Hconn [com.ibm.mq.jmqi.remote.impl.RemoteSession[connectionId=<null>]]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Hobj [0x3058c0 - com.ibm.mq.jmqi.remote.api.RemoteHobj[objectType=5,objectName= ,proxyQueue=<null>]]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Selectorcount [5]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Selectors <len=5 array=31,32,2,2015,2032,>
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Intattrcount [3]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Intattrs <len=3 array=0,0,0,>
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Charattrlength [96]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Charattrs <data>
0001 Length = 0x60 (96) bytes start=0 count=96
0001 offset : 0 1 2 3 4 5 6 7 8 9 A B C D E F
0001 0x00000000 ( 0) : 00000000 00000000 00000000 00000000 : ................
0001 5 duplicate line(s) suppressed
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) CompCode [2]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) Reason [2067]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint) [__________]
MQINQ(Hconn,Hobj,int,int [ ],int,int [ ],int,byte [ ],Pint,Pint)
getLastException() getter <null>
getConfiguration() getter [c.i.mq.jmqi.internal.Configuration@2620b973]
com.ibm.msg.client.commonservices.j2se.propertystore.PropertyStoreImpl register(String,boolean,boolean) <len=3 array=, com.ibm.mq.cfg.AMQ_RC_COMPAT_2059, null, false>
register(String,boolean,boolean) Failed. Property already registered <null>
getProperty(String) [com.ibm.mq.cfg.AMQ_RC_COMPAT_2059]
getProperty(String)<exitIndex 3>
getQueueManagerInfo(JmqiEnvironment,JmqiMQ,Hconn)<throwIndex 4>, CC=2;RC=2067;AMQ9530: Program could not inquire queue attributes. [1=2067,5=???] [com.ibm.mq.jmqi.JmqiException]
|
So it seems the client inquires the QueueManager for the following:
MQIA_CODED_CHAR_SET_ID (2)
MQIA_COMMAND_LEVEL (31)
MQIA_PLATFORM (32)
MQCA_Q_MGR_NAME (2015)
MQCA_Q_MGR_IDENTIFIER (2032)
This does not seem uncommon to me and I don't know why the QueueManager would not support this? |
|
Back to top |
|
|
mqjeff |
Posted: Thu Feb 09, 2017 5:20 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
marco75 wrote: |
This does not seem uncommon to me and I don't know why the QueueManager would not support this? |
because the version of MQ is ridiculously old... _________________ chmod -R ugo-wx / |
|
Back to top |
|
|
fjb_saper |
Posted: Thu Feb 09, 2017 6:09 am Post subject: |
|
|
Grand High Poobah
Joined: 18 Nov 2003 Posts: 20729 Location: LI,NY
|
You might have a little bit more control if using JMS as you can specify a version for the provider. Look it up and specify the lowest version allowed or compatibility or something like it.
Have fun _________________ MQ & Broker admin |
|
Back to top |
|
|
markt |
Posted: Thu Feb 09, 2017 6:56 am Post subject: |
|
|
Knight
Joined: 14 May 2002 Posts: 508
|
QMID was probably added in V5.1 as part of clustering. So would not be available in anything older. |
|
Back to top |
|
|
|
|
|
|
Page 1 of 1 |
|
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
|
|
|
|