Hi,
I'm trying out the <timeout> element functionality available for the various
endpoints in Synapse and am having some difficulty getting it to work.
Basically I have a synapse proxy service with definition as shown below and am
forwarding the request to the SimpleStockQuoteService which responds after 20
secs (using thread.sleep), but since the endpoint timeout value is set to
3secs, it should timeout sooner and return a fault ...but I'm getting an error.
Is there an example of how to get this working?
Thanks
Murali
---- proxy defn --------
<proxy name="DelayedStockQuoteProxy">
<target>
<endpoint>
<timeout>
<duration>3</duration>
<action>fault</action>
</timeout>
</address>
</endpoint>
<outSequence>
<send/>
</outSequence>
<faultSequence>
<log>
<property name="fault" value="executing fault sequence!"/>
</log>
<property name="RESPONSE" value="true" />
<send/>
</faultSequence>
</target>
<publishWSDL
uri="file:repository/conf/sample/resources/proxy/sample_proxy_1.wsdl"/>
</proxy>
</definitions>
--------- synapse output -------------
2009-05-11 15:30:45,820 [10.128.81.1-mcmgunasek-6400] [Timer-0] ERROR
HttpCoreNIOSender Malformed destination EPR : /soa
p/DelayedStockQuoteProxy.DelayedStockQuoteProxyHttpSoap11Endpoint
java.net.MalformedURLException: no protocol:
/soap/DelayedStockQuoteProxy.DelayedStockQuoteProxyHttpSoap11Endpoint
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:317)
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:256)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
at
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:138)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:219)
at
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:154)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:58)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:125)
at
org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:79)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:53)
at
org.apache.synapse.endpoints.DefaultEndpoint.onFault(DefaultEndpoint.java:192)
at
org.apache.synapse.endpoints.AddressEndpoint.onFault(AddressEndpoint.java:203)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:53)
at
org.apache.synapse.core.axis2.TimeoutHandler.processCallbacks(TimeoutHandler.java:123)
at
org.apache.synapse.core.axis2.TimeoutHandler.run(TimeoutHandler.java:78)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
2009-05-11 15:30:45,820 [10.128.81.1-mcmgunasek-6400] [Timer-0] ERROR
Axis2Sender Unexpected error sending message back
org.apache.axis2.AxisFault: Malformed destination EPR :
/soap/DelayedStockQuoteProxy.DelayedStockQuoteProxyHttpSoap11End
point
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.handleException(HttpCoreNIOSender.java:550)
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:349)
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:256)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
at
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:138)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:219)
at
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:154)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:58)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:125)
at
org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:79)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:53)
at
org.apache.synapse.endpoints.DefaultEndpoint.onFault(DefaultEndpoint.java:192)
at
org.apache.synapse.endpoints.AddressEndpoint.onFault(AddressEndpoint.java:203)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:53)
at
org.apache.synapse.core.axis2.TimeoutHandler.processCallbacks(TimeoutHandler.java:123)
at
org.apache.synapse.core.axis2.TimeoutHandler.run(TimeoutHandler.java:78)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: java.net.MalformedURLException: no protocol:
/soap/DelayedStockQuoteProxy.DelayedStockQuoteProxyHttpSoap11End
point
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:317)
... 16 more