blob: 3b06563d6544b8705c28c93ebb875d05cbb040fa [file] [log] [blame]
<!--
~ 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 to URL source properties, registry based properties and the XSLT mediator -->
<!-- the SimpleURLRegistry allows access to a URL based resource store such as the -->
<!-- file system (file://) or a web server (http://) -->
<registry provider="org.apache.synapse.registry.url.SimpleURLRegistry">
<!-- the root property of the simple URL registry helps resolve a resource URL as root + key -->
<property name="root" value="file:repository/conf/sample/resources/"/>
<!-- all resources loaded from the URL registry would be cached for this number of milli seconds -->
<property name="cachableDuration" value="15000"/>
</registry>
<definitions>
<!-- define a static property for the first XSLT resource as an URL source (could be any URL src) -->
<set-property name="xslt-key-req"
src="file:repository/conf/sample/resources/transform/transform.xslt"/>
<!-- define a dynamic property for the second XSLT resource as a key reference to the registry -->
<!-- the key is just a unique identifier for a resource on the registry. It is treated as a string literal -->
<set-property name="xslt-key-resp" key="transform/transform_back.xslt"/>
<!-- define a reuseable endpoint definition and use it within config -->
<endpoint name="stockquote"
address="http://localhost:9000/axis2/services/SimpleStockQuoteService"/>
</definitions>
<rules>
<in>
<!-- transform the custom quote request into a standard quote requst expected by the service -->
<xslt key="xslt-key-req"/>
<!-- send message to real endpoint referenced by name "stockquote" and stop -->
<send>
<endpoint ref="stockquote"/>
</send>
</in>
<out>
<!-- transform the standard response back into the custom format the client expects -->
<xslt key="xslt-key-resp"/>
<!-- now send the custom response back to the client and stop -->
<send/>
</out>
</rules>
</synapse>