Thanks for the tip, Ruwan. After including a log mediator with "full" level, I don't see this error anymore. But, the fault response doesn't come back to the client as well. Eventually, the client reports a "read timed out" socket exception... Any idea why this may be happening? Thanks again Murali
________________________________ From: Ruwan Linton <[email protected]> To: [email protected] Sent: Tuesday, May 12, 2009 3:11:15 PM Subject: Re: Synapse endpoint timeout You could get rid of this issue, if you put a log mediator with full log level before sending the message out, so the log mediator will build the message for logging. Thanks, Ruwan On Tue, May 12, 2009 at 9:24 PM, indika kumara <[email protected]>wrote: > Hi Murali > > What is the synapse version you are using. This is happened when try > to use stream that has already been consumed. This is happened if the > message has not been built. > > Please refer [1] > > [1] http://www.mail-archive.com/[email protected]/msg00564.html > > > Thanks > Indika > > On Tue, May 12, 2009 at 9:16 PM, Murali Krishnan <[email protected]> wrote: > > Thanks for the reply, indika. I think I made a small progress by removing > the 'To' header in the fault sequence, but am encountering a different > exception now somewhere within axiom... Any clues why this may be happening? > Thanks. > > > > 2009-05-12 11:39:54,298 [10.128.81.1-mcmgunasek-6400] [Timer-0] ERROR > HttpCoreNIOSender IO Error sending response messag > > e > > org.apache.axis2.AxisFault: problem accessing the parser. Parser already > accessed! > > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) > > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:83) > > at > org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:417) > > at > org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:264) > > 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: javax.xml.stream.XMLStreamException: problem accessing the > parser. Parser already accessed! > > at > org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:960) > > at > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(StreamingOMSerializer.java:100) > > at > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:68) > > at > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:57) > > at > org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(OMSerializerUtil.java:548) > > at > org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:232) > > at > org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947) > > at > org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:471) > > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:79) > > ... 17 more > > 2009-05-12 11:39:54,313 [10.128.81.1-mcmgunasek-6400] [Timer-0] ERROR > Axis2Sender Unexpected error sending message back > > org.apache.axis2.AxisFault: IO Error sending response message > > at > org.apache.synapse.transport.nhttp.HttpCoreNIOSender.handleException(HttpCoreNIOSender.java:550) > > at > org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:421) > > at > org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:264) > > 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: org.apache.axis2.AxisFault: problem accessing the parser. > Parser already accessed! > > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) > > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:83) > > at > org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:417) > > ... 16 more > > Caused by: javax.xml.stream.XMLStreamException: problem accessing the > parser. Parser already accessed! > > at > org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:960) > > at > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(StreamingOMSerializer.java:100) > > at > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:68) > > at > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:57) > > at > org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(OMSerializerUtil.java:548) > > at > org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:232) > > at > org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947) > > at > org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:471) > > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:79) > > ... 17 more > > 2009-05-12 11:39:59,756 [10.128.81.1-mcmgunasek-6400] > [HttpClientWorker-1] WARN SynapseCallbackReceiver Synapse receive > > d a response for the request with message Id : > urn:uuid:45D49B9CD7B413D90D45484550376096-651399307 But a callback is not > > registered (anymore) to process this response > > > > > > > > > > > > > > ________________________________ > > From: indika kumara <[email protected]> > > To: [email protected] > > Sent: Tuesday, May 12, 2009 1:02:33 AM > > Subject: Re: Synapse endpoint timeout > > > > Hi > > > > Error you have got is related with malformed endpoint URL.You can see > > the timeout handler has done timeout processing. > > > > BTW, before sending error back to client, remove existing βtoβ header. > > In your fault sequence, add β<header name="To" action="remove"/>β > > before send mediator. > > > > Thanks > > Indika > > > > On Tue, May 12, 2009 at 1:10 AM, Murali Krishnan <[email protected]> > wrote: > >> 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 > >> > >> > >> > >> > > > > > > > > > -- Ruwan Linton Senior Software Engineer & Product Manager; WSO2 ESB; http://wso2.org/esb WSO2 Inc.; http://wso2.org email: [email protected]; cell: +94 77 341 3097 blog: http://ruwansblog.blogspot.com
