我们有一个要求,一个输入应该去多个后端。为此,我使用如下上下文变量设置的Results操作:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dp="http://www.datapower.com/extensions"
xmlns:regexp="http://exslt.org/regular-expressions"
exclude-result-prefixes="dp regexp"
extension-element-prefixes="dp" version="1.0">
<xsl:template match="/">
<xsl:variable name="MultiResults">
<results mode="require-all" multiple-outputs="true">
<url>http://127.0.0.1:9988/MainLocation</url>
<url>http://127.0.0.1:4188/MainLocation</url>
</results>
</xsl:variable>
<dp:set-variable name="'var://context/uservars/resultURLs'" value="$MultiResults"/>我遇到的问题是,我没有看到任何后端的请求。我收到错误“未指定动态后端主机”。如何将单个请求发送到所有三个后端服务?
提前感谢!
发布于 2020-12-23 18:24:44
如果你有一个动态的后端,你需要设置变量var://service/routing-url。根据您希望服务如何操作,您可以将一个输出发送到routing-url,这将由原始Result触发,然后为另一个目的地添加第二个结果。
尤其是如果您需要确定并能够处理错误,最好使用dp:url-open()来发布数据并验证来自url- skip-backside ()的响应,然后使用var://service/mpgw/skip-backside = 1执行一个var://service/mpgw/skip-backside = 1操作(或者在规则中的任何位置设置一个“设置变量”操作)。
https://stackoverflow.com/questions/65336305
复制相似问题