Java 为什么在尝试使用PCF获取通道信息时会出现MQRC_NOT_AUTHORIZED错误?

Java 为什么在尝试使用PCF获取通道信息时会出现MQRC_NOT_AUTHORIZED错误?,java,ibm-mq,pcf,Java,Ibm Mq,Pcf,我正在使用mqjavapcfapi从MQ安装中检索信息。类PCFMessageAgent有几个构造函数。有一个接受主机、端口和通道名称。我已经展示了文档的摘录 公共PCFMessageAgent(字符串主机, 国际港口, 字符串通道) 抛出MQException 使用到队列管理器的客户端连接初始化新的PCFMessageAgent。 我的密码是 PCFMessageAgent agent = new PCFMessageAgent(host, port, "SYSTEM.DEF.SVRC

我正在使用mqjavapcfapi从MQ安装中检索信息。类PCFMessageAgent有几个构造函数。有一个接受主机、端口和通道名称。我已经展示了文档的摘录

公共PCFMessageAgent(字符串主机, 国际港口, 字符串通道) 抛出MQException 使用到队列管理器的客户端连接初始化新的PCFMessageAgent。
我的密码是

    PCFMessageAgent agent = new PCFMessageAgent(host, port, "SYSTEM.DEF.SVRCONN");
    PCFMessage pcfCmd = new PCFMessage(MQConstants.MQCMD_INQUIRE_CHANNEL);
    pcfCmd.addParameter(MQConstants.MQCACH_CHANNEL_NAME, channelName);
    PCFMessage[] pcfResponse = agent.send(pcfCmd);
但我得到了一个MQRC_NOT_AUTHORIZED错误

Exception in thread "main" com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2035'.
    at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:249)
    at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:450)
    at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:487)
    at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:97)
    at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:194)
    at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:868)

问题是您正试图连接到频道
SYSTEM.DEV.SVRCONN
。默认情况下,有一个
CHLAUTH
规则阻止访问名为
SYSTEM.*
的频道


您可以创建一个新的
SVRCONN
频道,该频道的名称不以
SYSTEM
开头,它将通过此检查。

@a这有助于解决您的问题吗?如果有帮助,请参阅“”。如果您觉得有帮助,请特别接受并向上投票。@如果您不知道,请单击答案左侧向下投票箭头下方的灰色复选标记以接受答案。
07/08/17 15:42:51 - Process(3294.15) User(user1) Program(amqrmppa)
                    Host(ubuntuvm-2) Installation(Installation1)
                    VRMF(8.0.0.7) QMgr(QM_FR2_2)

AMQ9777: Channel was blocked

EXPLANATION:
The inbound channel 'SYSTEM.DEF.SVRCONN' was blocked from address
'192.168.56.101' because the active values of the channel matched a record
configured with USERSRC(NOACCESS). The active values of the channel were
'CLNTUSER(user1)'.
ACTION:
Contact the systems administrator, who should examine the channel
authentication records to ensure that the correct settings have been
configured. The ALTER QMGR CHLAUTH switch is used to control whether channel
authentication records are used. The command DISPLAY CHLAUTH can be used to
query the channel authentication records.
----- cmqxrmsa.c : 1462 -------------------------------------------------------
07/08/17 15:42:51 - Process(3294.15) User(user1) Program(amqrmppa)
                    Host(ubuntuvm-2) Installation(Installation1)
                    VRMF(8.0.0.7) QMgr(QM_FR2_2)

AMQ9999: Channel 'SYSTEM.DEF.SVRCONN' to host '192.168.56.101' ended
abnormally.

EXPLANATION:
The channel program running under process ID 3294 for channel
'SYSTEM.DEF.SVRCONN' ended abnormally. The host name is '192.168.56.101'; in
some cases the host name cannot be determined and so is shown as '????'.
ACTION:
Look at previous error messages for the channel program in the error logs to
determine the cause of the failure. Note that this message can be excluded
completely or suppressed by tuning the "ExcludeMessage" or "SuppressMessage"
attributes under the "QMErrorLog" stanza in qm.ini. Further information can be
found in the System Administration Guide.
----- amqrmrsa.c : 930 --------------------------------------------------------