1

我的流程http中公开了一项服务。Mule 3.3.0现在,我想在不同的异常情况下返回不同的响应,例如想要区分错误是由于格式错误的 xml 与不正确的输入值,还是错误在服务器端,如 jms 已关闭。我怎样才能最好地处理这个问题。

我尝试创建private flow捕获异常并将转换器应用于所需的响应。当控制权返回到调用主流程时,私有流程返回的异常被视为有效负载消息,并继续进行其余处理。从私有流返回的异常不会作为响应返回http service(因为我的流正在公开 http 服务)

如果私人流程中发生异常,是否有办法停止其余流程?

我将 xml 验证放在私人流程中,因为我想根据用户的服务器或客户端错误来区分向用户抛出的错误消息

4

2 回答 2

1

由于异常是在私有流中处理的,所以需要使用标准的消息路由,根据私有流的结果来改变父流的处理路径。

例如,您可以choice在调用后使用路由器,flow-ref并根据某些属性的存在(或任何对您的情况有意义的),要么继续处理,要么立即返回响应。

于 2013-02-11T19:56:35.070 回答
0

捕获异常策略在我看来是最好的,bcz 可以参考,也可以在选择异常中调用。

于 2015-08-26T08:14:52.560 回答