Wednesday, October 23, 2019

Error-Codes Example in WSO2 ESB

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="fault_endpoint" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <property name="FORCE_ERROR_ON_SOAP_FAULT" scope="default" type="STRING" value="true"/>
    <switch source="$ctx:ErrorCode" xmlns:ns="http://org.apache.synapse/xsd">
        <case regex="101000">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101000</ERROR_CODE>
                        <ERROR_MESSAGE>EndPoint Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Receiver Error</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101001">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101001</ERROR_CODE>
                        <ERROR_MESSAGE>EndPoint Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Receiver Error</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101500">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101500</ERROR_CODE>
                        <ERROR_MESSAGE>EndPoint Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Sender Error</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101501">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101501</ERROR_CODE>
                        <ERROR_MESSAGE>EndPoint Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Sender Error</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101503">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101503</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Connection Failure</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101504">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101504</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Connection Timeout</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101505">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101505</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Connection Closed</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101506">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101506</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Protocol Violation</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101507">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101507</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Connection Cancelled</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101508">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101508</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Connection Timeout</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101509">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101509</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Send Abort</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="101510">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>101510</ERROR_CODE>
                        <ERROR_MESSAGE>Network Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Response Processing Error</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="303001">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>303001</ERROR_CODE>
                        <ERROR_MESSAGE>EndPoint Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Address Endpoint is not ready to connect</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="303001">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>303000</ERROR_CODE>
                        <ERROR_MESSAGE>EndPoint Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Load Balance endpoint is not ready to connect</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <case regex="303001">
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>303002</ERROR_CODE>
                        <ERROR_MESSAGE>EndPoint Connection Failure</ERROR_MESSAGE>
                        <ERROR_DETAIL>Load Balance endpoint is not ready to connect</ERROR_DETAIL>
                    </Fault>
                </format>
                <args/>
            </payloadFactory>
        </case>
        <default>
            <payloadFactory media-type="xml">
                <format>
                    <Fault>
                        <ERROR_CODE>$1</ERROR_CODE>
                        <ERROR_MESSAGE>$2</ERROR_MESSAGE>
                        <ERROR_DETAIL>$3</ERROR_DETAIL>
                    </Fault>
                </format>
                <args>
                    <arg evaluator="xml" expression="get-property('ERROR_CODE')"/>
                    <arg evaluator="xml" expression="get-property('ERROR_MESSAGE')"/>
                    <arg evaluator="xml" expression="get-property('ERROR_DETAIL')"/>
                </args>
            </payloadFactory>
        </default>
    </switch>
    <header action="remove" name="To" scope="default"/>
    <property name="RESPONSE" scope="default" type="STRING" value="true"/>
</sequence>

No comments:

Post a Comment