Anchor | ||||
---|---|---|---|---|
|
Table of Contents | ||||
---|---|---|---|---|
|
...
This can be achieved with the following configuration. R eplace the following line according to your end point URI: <address uri=" http://localhost:9000/services/SimpleStockQuoteService "/>.
Code Block | ||
---|---|---|
| ||
<definitions xmlns="http://ws.apache.org/ns/synapse"> <registry provider="org.wso2.carbon.mediation.registry.WSO2Registry"> <parameter name="cachableDuration">15000</parameter> </registry> <proxy name="StockQuoteProxy" transports="http" startOnLoad="true" trace="disable"> <description/> <target> <inSequence> <property name="OUT_ONLY" value="true"/> <clone> <target> <endpoint> <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> </endpoint> </target> <target sequence="test"/> </clone> </inSequence> <outSequence> <send/> </outSequence> </target> </proxy> <sequence name="test"> <payloadFactory> <format> <ns:a xmlns:ns="http://services.samples"> <ns:b>Accepted</ns:b> </ns:a> </format> </payloadFactory> <property name="HTTP_SC" value="202" scope="axis2"/> <header name="To" action="remove"/> <property name="RESPONSE" value="true"/> <send/> </sequence> <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"/> <filter source="get-property('To')" regex="http://localhost:9000.*"> <send/> </filter> </in> <out> <send/> </out> <description>The main sequence for the message mediation</description> </sequence> </definitions> |
...
This will ensure that no messages will be lost even if the data source is not available at the initialization. You might notice exceptions in the log but the inserts will be done to the database accordingly.
...
How can you access and modify JMS headers from within a proxy service?
You can set custom values for JMS headers from within a proxy service using the Property mediator as follows:
...
You can then retrieve these values using get-property
function (e.g., get-property('transport','JMS_PRIORITY')
).
Info |
---|
Ability to modify JMS headers depends on the JMS provider, where there may be limitations in modifying some headers when using certain providers. In such cases, even if the header values are set within the proxy service, they would not get modified as expected. |