IBM Datapower - WebSphere MQ - 来自传输队列的消息

时间:2015-11-17 07:59:50

标签: ibm-mq ibm-datapower

我必须从一个MQ管理器(传输队列)获取消息,从MQXQH头获取后端队列的名称,验证消息,创建没有MQXQH头的新消息并将其发送到另一个MQ管理器。 现在我可以获得后端队列(使用XSLT)并发送消息,但我无法更改消息,因为我无法在请求中看到数据。 有人能帮助我吗? 当前的XSLT:

TestItem

2 个答案:

答案 0 :(得分:1)

您可以使用以JS编写的MQ头解析器(下面的链接)。它将使用原始MQMD头解析MQXQH头,并将其从消息正文中剥离。

接下来,您应该从MQXQH.MsgDesc字段中获取原始MQMD标头,并将其设置为MQMD请求标头。另外,您应该将MQOD标头设置为

MQOD.ObjectQMgrName = MQXQH.RemoteQMgrName
MQOD.ObjectName = MQXQH.RemoteQName

最后,您应该删除MQXQH标头。 现在,您将拥有原始MQMD标头和MQOD标头以及必要的路由信息​​。设置了MQOD标头的路由URL可以不指定Request Queue参数:

 dpmq://QMNAME/?RequestQueue=(something that will not be used or leave blank).
https://gitlab.com/ksgerastenok/datapower/-/blob/master/domain/headers.js

答案 1 :(得分:0)

读取传输队列是一个坏主意,只有在调整安装时才可能。请参阅developerWorks DataPower forum posting

赫尔曼。