5
votes

I using version 3.2. When a soap fault returns from a service I want log the error and force the Global Exception. I tried using
<test:component throwException="true" />. While it does force the Exception to execution it also genreates a ton of messages in my log (see below). I need to clean this up or find a better to force the execution of the 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

1 Answers

25
votes

You can throw any exception from a Groovy scripting component:

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