Sequence wso2:ESB故障序列

Sequence wso2:ESB故障序列,sequence,wso2esb,fault,Sequence,Wso2esb,Fault,如何在esb中使用代理的faultsequence 我想在端点中发生错误时使用faultsequence。例如,我使用jconsole停止service1,并希望在调用代理服务时将消息路由到service2。但是,当我使用soapui调用代理时,它会显示以下消息:系统正在尝试访问非活动服务 请引导我 我相信您的具体场景是您的主要端点的一部分,如果失败,您需要将消息路由到次要端点 正确的实现方法不是使用故障序列,正确的实现方法是使用故障转移端点。你可以在[1][2]找到参考文件 有关示例,您

如何在esb中使用代理的faultsequence

我想在端点中发生错误时使用faultsequence。例如,我使用jconsole停止service1,并希望在调用代理服务时将消息路由到service2。但是,当我使用soapui调用代理时,它会显示以下消息:系统正在尝试访问非活动服务



请引导我

我相信您的具体场景是您的主要端点的一部分,如果失败,您需要将消息路由到次要端点

正确的实现方法不是使用故障序列,正确的实现方法是使用故障转移端点。你可以在[1][2]找到参考文件

有关示例,您可以参考“示例53:3个端点之间的故障切换发送”[3]

[1] 。 [2]. [3]

谢谢,,
Dharshana。

当端点1处于非活动状态时,它返回一个soap错误,您希望它转到错误序列。但此时,故障序列被视为响应,并被发送到客户端(soapui)

在WSO2 ESB 4.5.0以后的版本中,添加了一个新的属性FORCE\u ERROR\u ON\u SOAP\u FAULT。通过设置此属性,soap故障将定向到故障序列。您可以在故障序列中执行下一个逻辑(例如调用另一个序列)

有关代理服务的示例,请参阅[1]


[1]

谢谢你,亲爱的达莎娜。是的,你们的假设是正确的,但我的第二个端点的地址是动态的,我需要一个新的序列(错误序列),将类中介加载到其中,并将消息路由到类中介指定的新目标。所以我认为需要一个故障序列。这是真的吗?因为故障转移中的端点是静态的!可以调用故障序列中的另一个序列。是,对于您的场景,您需要使用故障序列。您可以如下所示设置一个targer故障序列,然后您可以在测试序列中实现新的端点逻辑这符合您的要求吗?
<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>