在 DataPower 中,我必须读取传入的请求肥皂动作。读取后,我需要提取分隔符后的最后一个字符串并将其保存在变量中。然后我需要修改 SoapAction 并为每个在 Datapower 之外的请求设置新值。
我有
SOAPAction="http://service.example.com/version10_1/getMessage"
我想要它作为
SOAPAction="http://service.example.com/version11_1/getMessage"
我有一个使用如下功能的想法。请建议 1. 如何从标头中对值“getMessage”进行子串化。我想通过保存一个变量来进一步使用它。 2. 修改传入的 SOAPAction 并将其发送新的更好的方法是什么。只有版本从版本 10_1 修改为 11_1。
<xsl:template name="HeaderChange">
<xsl:variable name="IncomingRequest" select="dp:request-header('SOAPAction')"/>
<xsl:variable name="Mymethod"><xsl:value-of select=(get the getMessage here)/></xsl:variable>
<dp:set-http-request-header name="SOAPHeader" value="'to modify old SOAPAction'"/>
<dp:freeze-headers/>
</xsl:template>