如何在mule中强制执行异常

时间:2013-09-08 23:13:35

标签: mule

我使用的是3.2版。当soap服务从服务返回时,我想记录错误并强制执行全局异常。我试过用左 <test:component throwException="true" />。虽然它确实强制执行Exception,但它也会在我的日志中生成大量消息(见下文)。我需要清理它或找到更好的方法来强制执行异常。

>>>>>>>>>>>>>>>>>>>>>>>>>THESE ARE UNWANTED MESSAGES>>>>>>>>>>>>>
INFO  2013-09-08 17:38:05,443 [msr-httpConnector.receiver.02] org.mule.tck.functional.FunctionalTestComponent: 
********************************************************************************
* Message Received in service: BillingAccountProductAssociationRequest.        *
* Content is: <soap:Envelope                                                   *
* xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Faul *
* t><faultc...[100 of 567]                                                     *
********************************************************************************
ERROR 2013-09-08 17:38:05,449 [msr-httpConnector.receiver.02] org.mule.exception.CatchMessagingExceptionStrategy: 
********************************************************************************
Message               : Functional Test Service Exception
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. Functional Test Service Exception (org.mule.tck.exceptions.FunctionalTestException)
  org.mule.tck.functional.FunctionalTestComponent:210 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/tck/exceptions/FunctionalTestException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
org.mule.tck.exceptions.FunctionalTestException: Functional Test Service Exception
    at org.mule.tck.functional.FunctionalTestComponent.throwException(FunctionalTestComponent.java:210)
    at org.mule.tck.functional.FunctionalTestComponent.onCall(FunctionalTestComponent.java:134)
    at org.mule.model.resolvers.CallableEntryPointResolver.invoke(CallableEntryPointResolver.java:50)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************

1 个答案:

答案 0 :(得分:20)

您可以从Groovy脚本组件中抛出任何异常:

<scripting:component doc:name="Script">
    <scripting:script engine="Groovy"><![CDATA[
        throw new IllegalArgumentException('bad arg')
    ]]></scripting:script>
</scripting:component>
相关问题