| <?xml version="1.0" encoding="ISO-8859-1" ?> |
| <!-- ~ 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. --> |
| |
| <document> |
| <properties> |
| <title>Apache Synapse - Sample 16</title> |
| </properties> |
| <body> |
| <section name="Sample 16: Introduction to dynamic and static registry keys"> |
| <div class="xmlConf"><definitions xmlns="http://ws.apache.org/ns/synapse"> |
| |
| <!-- the SimpleURLRegistry allows access to a URL based registry (e.g. file:/// or http://) --> |
| <registry provider="org.wso2.carbon.mediation.registry.ESBRegistry"> |
| <!-- the root property of the simple URL registry helps resolve a resource URL as root + key --> |
| <parameter name="root">file:repository/samples/resources/</parameter> |
| <!-- all resources loaded from the URL registry would be cached for this number of milli seconds --> |
| <parameter name="cachableDuration">15000</parameter> |
| </registry> |
| |
| <sequence name="main"> |
| <in> |
| <!-- define the request processing XSLT resource as a property value --> |
| <property name="symbol" value="transform/transform.xslt"/> |
| <!-- {} denotes that this key is a dynamic one and it is not a static key --> |
| <!-- use Xpath expression "get-property()" to evaluate real key from property --> |
| <xslt key="{get-property('symbol')}"/> |
| </in> |
| <out> |
| <!-- transform the standard response back into the custom format the client expects --> |
| <!-- the key is looked up in the remote registry using a static key --> |
| <xslt key="transform/transform_back.xslt"/> |
| </out> |
| <send/> |
| </sequence> |
| |
| </definitions></div> |
| <subsection name="Objective"> |
| <p> |
| Objective: Introduction to dynamic and static keys |
| </p> |
| </subsection> |
| |
| <subsection name="Pre-requisites"> |
| <p> |
| <ul> |
| <li> |
| Start the Synapse configuration numbered 16: i.e. synapse -sample 16 |
| </li> |
| <li> |
| Start the Axis2 server and deploy the SimpleStockQuoteService if |
| not already done |
| </li> |
| </ul> |
| </p> |
| </subsection> |
| <subsection name="Executing the Client"> |
| <p> |
| Execute the client as follows. |
| </p> |
| <div class="command">ant stockquote -Dtrpurl=http://localhost:8280/services/StockQuote</div> |
| <p>This Sample demonstrates the use of dynamic keys with mediators. XSLT mediator is used as an |
| example for that and deference between static and dynamic usage of keys are shown with that. |
| </p> |
| <p>The first registry resource "transform/transform.xslt" is set as a property value. Inside the |
| XSLT mediator the local property value is lookup using the Xpath expression "get-property()". |
| Likewise any Xpath expression can be enclosed inside "{ }" to denote that it is a dynamic key. |
| Then the mediator will evaluate the real value for that expression. |
| </p> |
| <p>The second XSLT resource "transform/transform_back.xslt" is used simply as a static key as |
| usual. It is not included inside "{ }" and because of the mediator directly use the static |
| value as the key. |
| </p> |
| <p>Execute the custom quote client as 'ant stockquote -Dmode=customquote' and analys the output |
| which is similar to the Sample 8. |
| </p> |
| |
| </subsection> |
| |
| </section> |
| <p> |
| <a href="../samples.html">Back to Catalog</a> |
| </p> |
| </body> |
| </document> |