0

我定义了一个流程。它使用 CXF 发布 Web 服务,交换模式:请求-响应。服务定义/抛出异常类型:CAEService_Exception。Web 服务实现几乎是一个虚拟的。ws 请求由流中的其他消息处理器处理。在流程中,其他组件或 ESB 本身可能会抛出不同的异常,例如 ConnectionException、ApplicOneException 或 CompnentTwoException 等等。在这种情况下,重要的是只向客户端抛出(业务异常)CAEService_Exception!如何获取(捕获)不同的异常,以及如何处理/处理它们以便 CXF 模块向客户端抛出 CAEService_Exception?

谢谢你的建议!问候电龙

<flow name="CAEService" doc:name="CAEService">
    <http:inbound-endpoint address="${http.host.inbound}/ebiz/ws/CAEService" exchange-pattern="request-response" doc:name="HTTP">
        <cxf:simple-service serviceClass="org.mule.j2a.ws.cae.CAEService"/>
    </http:inbound-endpoint>
    <component class="org.mule.j2a.ws.cae.CAEServiceImpl" doc:name="Java"/> 
    <flow-ref name="Fest_ERPs" doc:name="Sub Flow with transformers, call other services, etc."/>

    <!-- exceptions -->

</flow>
4

1 回答 1

0

您可以使用选择异常策略来捕获不同的策略。

例如

<flow name="Sample_Flow">
...
<choice-exception-strategy doc:name="Choice Exception Strategy">
    <catch-exception-strategy doc:name="Catch Exception Strategy"/>
    <rollback-exception-strategy doc:name="Rollback Exception Strategy"/>
</choice-exception-strategy>
</flow>

然后在各自的实现中向客户端抛出其他东西

<catch-exception-strategy name="Catch_Exception_Strategy">
   -- do you stuff
</catch-exception-strategy>
于 2013-09-26T15:17:21.690 回答