将来自 command-line 的消息放入 MQ queue
Put messages to MQ queue from command-line
作为应用程序安装的一部分,我需要将一堆 xml 消息放入 MQ queue。为了使其更复杂,消息需要设置 RFH2-header 的 usr-folder。
我发现来自 IBM RFHUtil 的 mqput2.exe
是完成此任务的理想工具。不幸的是,我一直无法设置 usr-folder 工作,文档太模糊了。我究竟做错了什么?或者,是否有其他可用的 command-line 工具效果更好?
我的道具。 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 header结构)。
我是这样设置的,效果很好:
[header]
qname=QName
qmgr=QMName
msgcount=1
format= "MQSTR "
codepage=1208
rfh=2
<usr>
<test>test</test>
</usr>
[filelist]
test.xml
作为 WMQ8 安装的一部分的 dmpmqmsg 实用程序也可用于从 command-line 发送消息。可以通过
从 queue 包括 headers 导出消息
dmpmqmsg -m queue_manager> -I <queue> -f <msg_file> -a
然后通过(我想,查阅文档)再次提交
dmpmqmsg -m queue_manager> -o <queue> -f <msg_file>
但是此实用程序不是 WMQ 7.5 的一部分。
作为应用程序安装的一部分,我需要将一堆 xml 消息放入 MQ queue。为了使其更复杂,消息需要设置 RFH2-header 的 usr-folder。
我发现来自 IBM RFHUtil 的 mqput2.exe
是完成此任务的理想工具。不幸的是,我一直无法设置 usr-folder 工作,文档太模糊了。我究竟做错了什么?或者,是否有其他可用的 command-line 工具效果更好?
我的道具。 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 header结构)。
我是这样设置的,效果很好:
[header]
qname=QName
qmgr=QMName
msgcount=1
format= "MQSTR "
codepage=1208
rfh=2
<usr>
<test>test</test>
</usr>
[filelist]
test.xml
作为 WMQ8 安装的一部分的 dmpmqmsg 实用程序也可用于从 command-line 发送消息。可以通过
从 queue 包括 headers 导出消息dmpmqmsg -m queue_manager> -I <queue> -f <msg_file> -a
然后通过(我想,查阅文档)再次提交
dmpmqmsg -m queue_manager> -o <queue> -f <msg_file>
但是此实用程序不是 WMQ 7.5 的一部分。