我是WSO2和ESB主题的新手。我试图用基于内容的路由调解器做一个简单的例子。特别是这是序列XML:
<sequence xmlns="http://ws.apache.org/ns/synapse" name="CBRSimple">
<in>
<log category="INFO" level="full" separator=",">
<property name="message" value="SOAP Message received on ESB"/>
</log>
<filter regex=".*/VISA.*" source="get-property('To')">
<then>
<send>
<endpoint key="VISAEndpoint"/>
</send>
</then>
<else>
<send>
<endpoint key="AMEXEndpoint"/>
</send>
</else>
</filter>
</in>
</sequence>
我想检查请求的目的地是否包含单词VISA并将消息重定向到VISAEndpoint(部署在WSO2 AS上的Web服务 localhost:9763 / services / VisaProcessingService )
ESB部署并监听以下端口:
HTTP:8281
HTTPS:8244
然后我使用基于VISAEndpoint Wsdl的示例SOAP MEssage创建了一个SOAP UI测试,并将SOAP请求发送到以下url:
的本地主机:8281 /服务/ VISAProcessingService
ESB日志显示收到soap消息,因为打印出soap标头,但请求未被重定向。如果我检查esb日志,我没有发现任何错误,但似乎肥皂消息没有通过esb序列。
我的问题是:
1)这是用soap UI测试esb序列的正确方法吗?
2)如果是,有人可以帮我弄清楚测试不起作用的原因吗?
如果不是,你能否提出正确的方法来测试这个样本?
非常感谢您提前,
此致
乔瓦尼
答案 0 :(得分:1)
正则表达式中存在错误,您应将.*/VISA.*
替换为.*/Visa.*
属性'To'包含: / services / VisaProcessingService