Regd.条件路由器在wso2 esb



我正在wso2 esb中的条件路由器上工作,我的场景如下。我在有效载荷中提取了studentno,并希望在此基础上执行条件路由器,但这是为头和查询参数工作,而不是为查询变量或从有效载荷中提取的值。我试过解,但我得到了一个解。这是一个限制条件路由器,只与头和参数工作吗?如果没有,请在条件路由器中提供你的条件输入。

提前感谢。

有两种类型可以实现您的需求。您应该能够使用类型soap[2]或类型属性[1]根据负载内容进行路由。请参考下面的示例。其他可用的类型可以在文档[3]中找到。

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="conditionalRouter"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property expression="$body//symbol" name="requestProperty"/>
<log level="custom">
<property expression="$body//symbol" name="requestProperty"/>
</log>
<conditionalRouter continueAfter="false">
<conditionalRoute breakRoute="false">
<condition>
<match regex="WSO2.*" source="//symbol" type="soap"/>
</condition>
<target sequence="cnd1_seq"/>
</conditionalRoute>
<conditionalRoute breakRoute="false">
<condition>
<match regex="IBM.*" source="requestProperty" type="property"/>
</condition>
<target sequence="cnd2_seq"/>
</conditionalRoute>
</conditionalRouter>
</inSequence>
</target>
<description/>
</proxy>

请求1

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<request>
<symbol>WSO2</symbol>
</request>
</soapenv:Body>
</soapenv:Envelope>

请求2

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<request>
<symbol>WSO2</symbol>
</request>
</soapenv:Body>
</soapenv:Envelope>

注意

条件路由器中介从EI 6.5.0版本起删除[4]。因此,如果您已经使用切换案例中介开发了中介,那么最好使用相同的中介,因为如果您决定迁移到新的EI版本,它将使您更容易。

[1] http://github.com/wso2/wso2-synapse/blob/v2.1.7-wso2v111/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/TextProcessingEvaluatorFactory.java # L60

[2] http://github.com/wso2/wso2-synapse/blob/v2.1.7-wso2v111/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/TextProcessingEvaluatorFactory.java # L66

[3] HTTP://docs.wso2.com/display/EI620/Sample + 3 +条件+路由器+ 157% +路由+信息+ +基于HTTP + HTTP URL % 2 c + + +头+和+查询+参数

[4] http://docs.wso2.com/display/EI650/About + +版本

最新更新