Sample 502: Transforming Events Before Publish
<definitions xmlns="http://ws.apache.org/ns/synapse">
<eventSource name="SampleEventSource">
<subscriptionManager
class="org.apache.synapse.eventing.managers.DefaultInMemorySubscriptionManager">
<!--property name="registryURL" value="http://localhost:8180/wso2registry"/>
<property name="username" value="admin"/>
<property name="password" value="admin"/-->
<property name="topicHeaderName" value="Topic"/>
<property name="topicHeaderNS" value="http://apache.org/aip"/>
</subscriptionManager>
<subscription id="mysub1">
<filter source="synapse/event/test"
dialect="http://synapse.apache.org/eventing/dialect/topicFilter"/>
<endpoint>
<address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
</endpoint>
</subscription>
</eventSource>
<sequence name="PublicEventSource">
<log level="full"/>
<xslt key="xslt-key-req"/>
<log level="full"/>
<eventPublisher eventSourceName="SampleEventSource"/>
</sequence>
<proxy name="EventingProxy">
<target inSequence="PublicEventSource"/>
</proxy>
<localEntry key="xslt-key-req"
src="file:repository/conf/sample/resources/transform/transform_eventing.xslt"/>
</definitions>
Objective
Demonstrate how to mediate and transform events before they are sent to the
target event sinks
Executing the Client
In this sample, the event (order request) is transformed into a new order with
a different namesapce using the XSLT mediator. Invoke the client as follows.
ant eventsender
Event will be mediated through the 'PublicEventSource' sequence and get transformed
before it gets published to the event sink (Axis2 server).
Back to Catalog