1

In a proxy or API sequence when we have faultSequnce defined, every exception inside that sequence should trigger faultSequence.

Example

    <target faultSequence="sub_handelFault_1.0">
    <inSequence onError="sub_handelFault_1.0">
        <property name="originalRequest" expression="$body/*[1]" type="OM" />

When xslt mediator throws an exception (for example when request message is not well-formated XML), faultSequence is triggered with proper error handling.

But surprisingly, PropertyMediator throws exception which never triggers faultSequence. Execution of sequence is silent broken and request message is lost. This is very dangerous especial for asynchronous messages (JMS).

You can test it by sending a not well-formatted XML to sequence with property mediator.

Community
  • 1
  • 1

1 Answers1

0

There is a bug in PropertyMediator (also in HeaderMediator) in 4.8.0 so exception is not handled properly. This is fixed in patch0781. If you can't applay this patch , there is a workaround for this. Just add a script mediation which tries to read XML payload. That will trigger error and proper error handling so the faultSequence will be executed. Example

<script language="js"><![CDATA[ 
     mc.getPayloadXML(); ]]></script>