<!-- | |
~ 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"> | |
<!-- illustration of various mediators : try-catch-finally and makefault mediators --> | |
<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"/> | |
<!-- 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> | |
<try> | |
<sequence> | |
<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> | |
<onError> | |
<sequence ref="errorHandler"/> | |
</onError> | |
<finally> | |
<log level="custom"> | |
<property name="message" value="Processed request"/> | |
</log> | |
</finally> | |
</try> | |
<send/> | |
</rules> | |
</synapse> |