Sample 750: Stereotyping XSLT Transformations with Templates
<definitions xmlns="http://ws.apache.org/ns/synapse">
<proxy name="StockQuoteProxy">
<target>
<inSequence>
<!--use sequence template to trasnform incoming request-->
<call-template target="xslt_func">
<with-param name="xslt_key" value="xslt-key-req"/>
</call-template>
<send>
<endpoint>
<address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<!--use sequence template to trasnform incoming response-->
<call-template target="xslt_func">
<with-param name="xslt_key" value="xslt-key-back"/>
</call-template>
<send/>
</outSequence>
</target>
</proxy>
<!--this sequence template will trasnform requests with the given xslt local entry key And will log
the message before and after. Takes Iterate local entry key as an argument-->
<template xmlns="http://ws.apache.org/ns/synapse" name="xslt_func">
<parameter name="xslt_key"/>
<sequence>
<log level="full">
<property name="BEFORE_TRANSFORM" value="true" />
</log>
<xslt key="{$func:xslt_key}"/>
<log level="full">
<property name="AFTER_TRANSFORM" value="true" />
</log>
</sequence>
</template>
<localEntry key="xslt-key-req" src="file:repository/samples/resources/transform/transform.xslt"/>
<localEntry key="xslt-key-back" src="file:repository/samples/resources/transform/transform_back.xslt"/>
</definitions>
Objective
Introduction to Apache Synapse Sequence Templates
Executing the Client
First execute the sample client as follows.
ant stockquote -Daddurl=http://localhost:8280/services/StockQuoteProxy -Dmode=customquote
Sequence Template can act a reusable function. Here the proxy service reuses
template xslt_func which will transform requests with the given xslt local entry
key And will log the message before and after. It takes xslt transformation corresponding
to local entry key as an argument (for insequence this key is xslt-key-req and out sequence it is xslt-key-back).
We use call-template mediator for passing the xslt key parameter to a sequence template.
Back to Catalog