我必须从一个 MQ 管理器(传输队列)获取消息,从 MQXQH 标头获取后端队列的名称,验证消息,创建没有 MQXQH 标头的新消息并将其发送到另一个 MQ 管理器。现在我可以获取后端队列(使用 XSLT)并发送消息,但我无法更改消息,因为我看不到请求中的数据。有人可以帮助我吗?当前 XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:dp="http://www.datapower.com/extensions" extension-element-prefixes="dp" exclude-result-prefixes="dp">
<xsl:template match="/">
<!-- Get the MQXQH headers -->
<xsl:variable name="MQXQH" select="dp:request-header('MQXQH')" />
<!-- Parse the MQXQH headers to XML format -->
<xsl:variable name="parsedMQXQH" select="dp:parse($MQXQH)" />
<!-- log MQXQH -->
<xsl:message dp:priority="alert">
<xsl:copy-of select="$parsedMQXQH" />
</xsl:message>
<!-- extract destination Queue -->
<xsl:variable name="destQ" select="$parsedMQXQH//RemoteQName"></xsl:variable>
<!-- extract destination Manager -->
<xsl:variable name="destM" select="$parsedMQXQH//RemoteQMgrName"></xsl:variable>
<!-- set destination -->
<dp:set-variable name="'var://service/routing-url'" value="concat('dpmq://KSSH_MQQM_AC/?RequestQueue=',$destQ)" />
</xsl:template>
</xsl:stylesheet>