将消息从命令行

时间:2017-06-17 14:32:59

标签: ibm-mq

作为我们应用程序安装的一部分,我需要将一堆xml消息放入MQ队列。为了使其更复杂,消息需要具有RFH2标头集的usr文件夹。

我发现IBM RFHUtil中的mqput2.exe是完成此任务的理想工具。不幸的是,我一直无法设置usr文件夹的工作,文档太模糊了。我究竟做错了什么?或者,是否有其他可用的命令行工具更好?

我的道具。 mqput2的文件如下所示:

[header]
.....
*
* message type
*
* Allowed values for message type
*  1 - request
*  2 - reply
*  4 - report
*  8 - datagram
*  112 - MQE fields from MQE
*  113 - MQE fields
*  65536 to 999,999,999 - user
msgtype=8
.....
*
* rfh usage
* rfh = N for No rfh
* rfh = A for Automatic (look for RFH at beginning of data file)
* rfh = 1 or V1 for Version 1 rfh from parameters in parm file
* rfh = 2 or V2 for Version 2 rfh from parameters in parm file
* rfh = X for special V2 rfh with fixed portion only and format=xml
*
* only first character checked, except for V when second character is also checked
*
rfh=X

<usr>
  <NotificationType>RDS.Codebook.Changes</NotificationType>
</usr>
.....
[filelist]
file1.xml

mqput2只是忽略了<usr>部分,并没有将其包含在邮件中。我还尝试rfh=A并将<usr>部分放在file1.xml文件的开头,但后来我得到MQPUT错误reason=2142(无效的MQ标头结构)

2 个答案:

答案 0 :(得分:1)

我按照这种方式设置它,它运行正常:

[header]
qname=QName
qmgr=QMName
msgcount=1
format= "MQSTR   "
codepage=1208
rfh=2
<usr>
<test>test</test>
</usr>
[filelist]
test.xml

答案 1 :(得分:1)

此外,dmpmqmsg实用程序是WMQ8安装的一部分,可用于从命令行发送消息。可以通过

从包括标题的队列中导出消息
dmpmqmsg -m queue_manager> -I <queue> -f <msg_file> -a

然后通过(我认为,参考文档)再次提交

dmpmqmsg -m queue_manager> -o <queue> -f <msg_file>

但是,该实用程序不是WMQ 7.5的一部分。

相关问题