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