Sample 704: Invoke Secured Services with Scheduled Message Forwarding Processor
<!-- Invoke Secured Services with Scheduled Message Forwarding Processor -->
<definitions xmlns="http://ws.apache.org/ns/synapse">
<localEntry key="sec_policy" src="file:repository/conf/sample/resources/policy/policy_3.xml"/>
<endpoint name="SecuredStockQuoteServiceEp">
<address uri="http://localhost:9000/services/SecureStockQuoteService">
<suspendOnFailure>
<errorCodes>-1</errorCodes>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<enableSec policy="sec_policy"/>
</address>
</endpoint>
<sequence name="fault">
<log level="full">
<property name="MESSAGE" value="Executing default 'fault' sequence"/>
<property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/>
<property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/>
</log>
<drop/>
</sequence>
<sequence name="main">
<in>
<log level="full"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<property name="OUT_ONLY" value="true"/>
<property name="target.endpoint" value="SecuredStockQuoteServiceEp"/>
<store messageStore="MyStore"/>
</in>
<description>The main sequence for the message mediation</description>
</sequence>
<messageStore name="MyStore"/>
<messageProcessor class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor" name="ScheduledProcessor" messageStore="MyStore">
<parameter name="interval">10000</parameter>
</messageProcessor>
</definitions>
Objective
Invoke Secured Services with Scheduled Message Forwarding Processor
Executing the Client
Execute the sample client a few times with the following command. Note that
we still haven't started the sample Axis2 server.
ant stockquote -Daddurl=http://localhost:8280/ -Dmode=placeorder
Deploy the SecureStockQuoteService in the sample Axis2 server and start Axis2.
When you start the service you will see messages getting delivered to the service,
even though the service was actually down when we invoked the sample client.
Here in the 'main' sequence, store mediator will store the placeOrder request
message in the 'MyStore' message store.
Message processor will send the message to the secured backend service using the defined endpoint.
Endpoint is configured to use WS-Security.
Message processor will remove the message from the store only if the message is delivered
successfully.
Back to Catalog