当前位置: 首页 > 知识库问答 >
问题:

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

曹乐意
2023-03-14

我正在使用MQ Java PCF API从MQ安装中检索信息。类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);
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)

为什么我会得到这个错误?我怎么解决这个。

我在错误日志中找到了这个。任何帮助都将不胜感激。

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 --------------------------------------------------------

共有1个答案

马祺
2023-03-14

问题是您试图连接到通道system.dev.svrconn。默认情况下,有一个Chlauth规则阻止对名为System.*的通道的访问。

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

 类似资料:
  • 我已经从各种“git”镜像中检查出了当前的树尖,如这里的入门页面所述:http://llvm.org/docs/GettingStarted.html 然后,我按照指令使用C的生成的使文件,像这样:c做-G'Unix Makefile' /Path/To/LLVM-Repository 此配置失败,出现以下错误-发生了什么问题? CMake错误位于tools/clang/CMakeLists。tx

  • 除了获取客户端的地区信息外,有时他们所在的时区信息也非常有用。LocaleContextResolver接口为LocaleResolver提供了拓展点,允许解析器在LocaleContext中提供更多的信息,这里面就可以包含时区信息。 如果用户的时区信息能被解析到,那么你总可以通过RequestContext.getTimeZone()方法获得。时区信息会自动被SpringConversionSe

  • 请求header GET /v1/activities/{频道id} Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{频道id}"替换您需要获取的频道id 返回 { "id": 1928, "name": "测试",

  • 问题内容: 这是我的代码: 当我执行此操作时,将引发错误: 我确保它不是拼写错误,并且我没有拼错该函数的名称,所以为什么会出现NameError? 问题答案: 除非已定义函数,否则无法调用它。将块移动到文件的顶部,在导入的下面。 某些语言允许您在定义函数之前使用函数。例如,javascript将其称为“吊装”。但是Python并不是这些语言之一。 请注意,只要按 时间顺序 在使用前定义,就可以在比

  • 问题内容: 我有不同的表, 目标 是获得每个客户的批准工作流,并以这种方式显示该信息: > 客户| APPROVER1 | APPROVER2 | APPROVER3 | 审批人4 首先,我有一个称为实体的表 注意: 12被分配给数学安德鲁… 308是表示马特·安德鲁是客户的数字 13被分配给John Connor … 308是表示John Connor是CLIENT的数字 由于Math Andr