| <!-- | |
| ~ Licensed to the Apache Software Foundation (ASF) under one | |
| ~ or more contributor license agreements. See the NOTICE file | |
| ~ distributed with this work for additional information | |
| ~ regarding copyright ownership. The ASF licenses this file | |
| ~ to you under the Apache License, Version 2.0 (the | |
| ~ "License"); you may not use this file except in compliance | |
| ~ with the License. You may obtain a copy of the License at | |
| ~ | |
| ~ http://www.apache.org/licenses/LICENSE-2.0 | |
| ~ | |
| ~ Unless required by applicable law or agreed to in writing, | |
| ~ software distributed under the License is distributed on an | |
| ~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| ~ KIND, either express or implied. See the License for the | |
| ~ specific language governing permissions and limitations | |
| ~ under the License. | |
| --> | |
| <synapse xmlns="http://ws.apache.org/ns/synapse"> | |
| <!-- error handling within a sequence using the 'onError' sequence --> | |
| <definitions> | |
| <!-- define an endpoint for the stock quote service --> | |
| <endpoint name="simple" | |
| address="http://localhost:9000/axis2/services/SimpleStockQuoteService"/> | |
| <!-- define a non-existent endpoint to test error handling --> | |
| <endpoint name="bogus" | |
| address="http://localhost:9009/axis2/services/NonExistentStockQuoteService"/> | |
| <!-- demonstrate the specification of an error handler sequence for a sequence --> | |
| <sequence name="stockquote" onError="errorHandler"> | |
| <switch source="//m0:getQuote/m0:request/m0:symbol" | |
| xmlns:m0="http://services.samples/xsd"> | |
| <case regex="IBM"> | |
| <send> | |
| <endpoint ref="simple"/> | |
| </send> | |
| </case> | |
| <case regex="MSFT"> | |
| <send> | |
| <endpoint ref="bogus"/> | |
| </send> | |
| </case> | |
| </switch> | |
| </sequence> | |
| <!-- define a sequence to be used for error handling --> | |
| <sequence name="errorHandler"> | |
| <!-- Log the error --> | |
| <log level="custom"> | |
| <property name="text" value="An unexpected error occured"/> | |
| <property name="message" expression="get-property('ERROR_MESSAGE')"/> | |
| <property name="detail" expression="get-property('ERROR_DETAIL')"/> | |
| </log> | |
| <!-- create a custom fault message --> | |
| <makefault> | |
| <code value="tns:Receiver" xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/> | |
| <reason expression="get-property('ERROR_MESSAGE')"/> | |
| </makefault> | |
| <send/> | |
| </sequence> | |
| </definitions> | |
| <rules> | |
| <sequence ref="stockquote"/> | |
| <send/> | |
| </rules> | |
| </synapse> |