<!-- | |
~ 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"> | |
<!-- introduction of static inline XML properties and the validation mediator --> | |
<definitions> | |
<!-- define a static property for an XSD schema resource as an inline XML fragment --> | |
<set-property name="validate_schema"> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
xmlns="http://www.apache-synapse.org/test" elementFormDefault="qualified" | |
attributeFormDefault="unqualified" | |
targetNamespace="http://services.samples/xsd"> | |
<xs:element name="getQuote"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="request"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="stocksymbol" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:schema> | |
</set-property> | |
<endpoint name="stockquote" | |
address="http://localhost:9000/axis2/services/SimpleStockQuoteService"/> | |
<sequence name="customrequest"> | |
<!-- is this a valid custom request ? --> | |
<validate> | |
<schema key="validate_schema"/> | |
<on-fail> | |
<!-- if the request does not validate againt schema throw a fault --> | |
<makefault> | |
<code value="tns:Receiver" | |
xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/> | |
<reason value="Invalid custom quote request"/> | |
</makefault> | |
<!-- send the fault and stop processing --> | |
<send/> | |
</on-fail> | |
</validate> | |
<!-- send message to real endpoint referenced by name "stockquote" and stop --> | |
<send> | |
<endpoint ref="stockquote"/> | |
</send> | |
</sequence> | |
</definitions> | |
<rules> | |
<in> | |
<!-- is this a custom stock quote message? --> | |
<filter xpath="//m0:getQuote" xmlns:m0="http://services.samples/xsd"> | |
<sequence ref="customrequest"/> | |
</filter> | |
</in> | |
<!-- just let the message flow through --> | |
<send/> | |
</rules> | |
</synapse> |