c# - .Net IBM MQ 错误 "MQRCCF_CFIN_PARM_ID_ERROR"3014

标签 c# .net ibm-mq

当我尝试从队列管理器获取队列名称时,出现此错误,我无法理解原因

PCFMessage reqeuestMessage = new PCFMessage(MQC.MQCMD_INQUIRE_Q);
reqeuestMessage.AddParameter(MQC.MQIA_Q_TYPE, MQC.MQQT_LOCAL);
PCFMessage[] pcfResponse = messageAgent.Send(reqeuestMessage);

最佳答案

IBM 已声明 .NET 的 MQ 类中包含的 PCF 支持未记录或维护。如需引用,请参阅 IBM MQ Development 的 Mark Taylor 的 MQ 技术 session v2.0.1.5 演示文稿“PCF Programming”的第 16 页:

  • Some use .Net classes: that interface is not documented or maintained
    • An historic accident
    • Missing newer function such as z/OS and byte string support

我验证了 .NET 的 MQ 类的 PCF 接口(interface)仍然没有记录在 IBM MQ 知识中心中,但有趣的是他们最近在该领域采取了一些 APAR 并解决了它们:


Microsoft Developer All About Interop 博客文章“PCF with IBM’s MQ Classes for .NET”提供了一些示例,您可能需要使用 MQCMD_INQUIRE_Q_NAMES 而不是 MQC.MQCMD_INQUIRE_Q。来自博客:

PCFMessageAgent agent = new PCFMessageAgent(c.MQ_QueueManager);
PCFMessage request= new PCFMessage(CMQCFC.MQCMD_INQUIRE_Q_NAMES);
request.AddParameter (MQC.MQCA_Q_NAME, queuename);
request.AddParameter (MQC.MQIA_Q_TYPE, MQC.MQQT_LOCAL);
PCFMessage[] responses = agent.Send(request);

另一个例子是 @Sashi 对 Stack Overflow 问题“MQ Statistics Monitoring from C#/.NET”的回答。

关于c# - .Net IBM MQ 错误 "MQRCCF_CFIN_PARM_ID_ERROR"3014,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42686321/

相关文章:

c# - ObjectListView Treeview 获取选中的 TreeView 节点Id

c# - init 在 c# 9 中是什么意思?

c# - 构建 Office 加载项时程序集绑定(bind)错误 : "FindRibbons" task failed unexpectedly

.Net Windows应用程序-如何通过文件关联自动调用程序

jms - 选择性出队的消息是否保持 FIFO 顺序 (MQ)?

ibm-mq - 如何更改 WebSphere MQ Explorer 中的语言?

c# - 如何在不受信任的域中模拟用户?

c# - 文件浏览器对话框实现

c# - 如何本地化数据库驱动的网站

linux - 从 mq 客户端运行 Linux/MQSC 命令