Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Websphere 如何在datapower中进行动态路由_Websphere_Ibm Datapower - Fatal编程技术网

Websphere 如何在datapower中进行动态路由

Websphere 如何在datapower中进行动态路由,websphere,ibm-datapower,Websphere,Ibm Datapower,我是datapower(IBM Websphere xi50)的新手,我对如何动态路由产生了深刻的印象。假设我们配置了动态后端,那么一个客户端请求一些服务,那么如何路由它 是通过XSLT还是通过某些策略创建我对此没有任何明确的想法 谢谢您可以通过XSLT来完成。操作步骤如下(逻辑上) 步骤1:确定您想要路由的标准[可能是URI或消息的任何部分] 步骤2:使用datapower内置函数dp:openURL向目标发送流量 步骤3:获取响应并处理它 还有其他方法可以做到这一点,但这是最直接的方法。我创

我是datapower(IBM Websphere xi50)的新手,我对如何动态路由产生了深刻的印象。假设我们配置了动态后端,那么一个客户端请求一些服务,那么如何路由它

是通过XSLT还是通过某些策略创建我对此没有任何明确的想法


谢谢

您可以通过XSLT来完成。操作步骤如下(逻辑上)

步骤1:确定您想要路由的标准[可能是URI或消息的任何部分] 步骤2:使用datapower内置函数dp:openURL向目标发送流量
步骤3:获取响应并处理它


还有其他方法可以做到这一点,但这是最直接的方法。

我创建了一个XSLT,它查看传入消息中的不同元素,以帮助确定目标。然后我调用了DataPower扩展方法。我将XSLT放入路由操作中。

通常使用“var://service/routing-url而不是像Ajitabh回答的那样“dp:url打开”

您还可以使用“Set variable”操作代替XSLT

dp:url open用于“分叉”消息,而不是路由消息。如果您使用dp:url opento路由,您还必须设置“跳过背面=1”

请参见XSLT示例:

<xsl:variable name="destURL" select="concat('http://127.0.0.1:',$Transformer-port,'/', $usrTransformer)" />
<!-- Set backend URL -->
<dp:set-variable name="'var://service/routing-url'" value="$destURL" />


URL-OPEN不是动态路由的有效方式。它只能用于编排。这是正确答案。您可以在适用的策略中“设置变量”规则var://service/mpgw/skip-backside=1. 我建议不要在XSLT/Gateway脚本中这样做,因为这样更容易看到,而且人们可以通过查看规则立即了解您的意图。