如何在esb中使用proxy的faultsequence
我想在端点发生故障时使用故障序列。例如,我使用 jconsole 停止 service1,并希望在调用代理服务时将消息路由到 service2。但是当我使用 soapui 调用代理时,它显示错误消息:系统正在尝试访问不活动的服务..
<target>
<inSequence >
<send>
<endpoint name="cal" >
<address uri="http://localhost:9763/services/service1/"/>
</endpoint>
</send>
</inSequence>
<faultSequence>
<log level="custom">
<property name="text" value="An unexpected error occured for service"/>
<property name="message" expression="get-property('ERROR_MESSAGE')"/>
</log>
<send>
<endpoint>
<address uri="http://localhost:9763/services/service2/"/>
</endpoint>
</send>
</faultSequence>
请指导我!
请您参考如下方法:
当您的端点 1 处于非事件状态时,它会返回一个 soap 错误,您希望它转到错误序列。但目前故障序列被视为响应并发送给客户端(soap ui)。
在 WSO2 ESB 4.5.0 之后,添加了一个新属性 FORCE_ERROR_ON_SOAP_FAULT。通过设置此属性,soap 错误将被定向到错误序列。您可以在故障序列中执行下一个逻辑(例如调用另一个序列)。
引用 [1] 示例代理服务。
[1] http://maharachchi.blogspot.com/2012/09/now-you-can-send-soapfaults-to-fault.html