[ http://wso2.org/jira/browse/ESBJAVA-370?page=all ]
Evanthika Amarasiri closed ESBJAVA-370.
---------------------------------------
Assignee: (was: indika kumara)
Fixed in 1.6-QA-B3. When you add the drop mediator after the send mediator of
the inSequence, the "Transfer Encoding Header already present" error does not
appear. The issue can be closed.
> "Transfer-encoding header already present" error occurred when trying out a
> scenario with load balancing
> --------------------------------------------------------------------------------------------------------
>
> Key: ESBJAVA-370
> URL: http://wso2.org/jira/browse/ESBJAVA-370
> Project: WSO2 ESB
> Issue Type: Bug
> Components: Endpoints Management
> Affects Versions: 1.5-beta-1
> Environment: Ubuntu7.04, JDK1.5.0_12, Firefox 2.0.0.9
> Reporter: Evanthika Amarasiri
> Fix For: NIGHTLY
>
>
> Below are the steps to reproduce the issue
> 1. Created the configuration as follows
> <syn:sequence name="loadbalance_sample" onError="fault">
> <syn:in>
> <syn:send>
> <syn:endpoint>
> <syn:session type="simpleClientSession"/>
> <syn:loadbalance algorithm="roundRobin">
> <syn:endpoint>
> <syn:failover>
> <syn:endpoint>
> <syn:address
> uri="http://localhost:9000/soap/LBService1">
> <syn:enableAddressing/>
> </syn:address>
> </syn:endpoint>
> <syn:endpoint>
> <syn:address
> uri="http://localhost:9002/soap/LBService1">
> <syn:enableAddressing/>
> </syn:address>
> </syn:endpoint>
> </syn:failover>
> </syn:endpoint>
> <syn:endpoint>
> <syn:failover>
> <syn:endpoint>
> <syn:address
> uri="http://localhost:9003/soap/LBService1">
> <syn:enableAddressing/>
> </syn:address>
> </syn:endpoint>
> <syn:endpoint>
> <syn:address
> uri="http://localhost:9004/soap/LBService1">
> <syn:enableAddressing/>
> </syn:address>
> </syn:endpoint>
> </syn:failover>
> </syn:endpoint>
> </syn:loadbalance>
> </syn:endpoint>
> </syn:send>
> </syn:in>
> <syn:out>
> <syn:send/>
> </syn:out>
> </syn:sequence>
> <syn:sequence name="fault">
> <syn:makefault version="soap12">
> <syn:code xmlns:sf12="http://www.w3.org/2003/05/soap-envelope"
> value="sf12:Receiver"/>
> <syn:reason value="COULDN'T SEND THE MESSAGE TO THE SERVER."/>
> </syn:makefault>
> <syn:header name="To" action="remove"/>
> <syn:property name="RESPONSE" value="true"/>
> <syn:send/>
> </syn:sequence>
> NOTE: Assume that all the servers are up and running and send a loadbalance
> request and see that the responses are received properly
> 2. Now one by one shut down the servers until the client fails to execute and
> you get the error message "COULDN'T SEND THE MESSAGE TO THE SERVER."
> 3. Then start all the servers one by one and wait for a while before sending
> the request once more.
> 4. Once you send the requests the client will fail and you will get the
> following error message on the ESB console
> 2007-11-26 11:21:52,146 [127.0.1.1-testc-ubuntu] [HttpServerWorker-19] ERROR
> ServerHandler Unexpected HTTP protocol error : Transfer-encoding header
> already present
> org.apache.http.ProtocolException: Transfer-encoding header already present
> at
> org.apache.http.protocol.ResponseContent.process(ResponseContent.java:67)
> at
> org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:304)
> at
> org.apache.synapse.transport.nhttp.ServerHandler.commitResponse(ServerHandler.java:220)
> at
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:360)
> at
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:225)
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
> at
> org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:104)
> at
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:197)
> at
> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:97)
> at
> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
> at
> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:122)
> at
> org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:79)
> at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:94)
> at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:100)
> at
> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:95)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> at
> org.apache.synapse.transport.nhttp.ServerWorker.processPost(ServerWorker.java:219)
> at
> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:183)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> 2007-11-26 11:21:52,190 [127.0.1.1-testc-ubuntu] [HttpServerWorker-19] ERROR
> HttpCoreNIOSender IO Error sending response message
> org.apache.axis2.AxisFault
> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
> at
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:72)
> at
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:370)
> at
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:225)
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
> at
> org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:104)
> at
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:197)
> at
> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:97)
> at
> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
> at
> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:122)
> at
> org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:79)
> at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:94)
> at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:100)
> at
> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:95)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> at
> org.apache.synapse.transport.nhttp.ServerWorker.processPost(ServerWorker.java:219)
> at
> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:183)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: com.ctc.wstx.exc.WstxIOException: null
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
> at
> org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:118)
> at
> org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:401)
> at
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:66)
> ... 19 more
> Caused by: java.nio.channels.ClosedChannelException
> at sun.nio.ch.SinkChannelImpl.ensureOpen(SinkChannelImpl.java:136)
> at sun.nio.ch.SinkChannelImpl.write(SinkChannelImpl.java:140)
> at java.nio.channels.Channels.write(Channels.java:60)
> at java.nio.channels.Channels.access$000(Channels.java:47)
> at java.nio.channels.Channels$1.write(Channels.java:134)
> at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> at
> com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> ... 22 more
> 2007-11-26 11:21:52,348 [127.0.1.1-testc-ubuntu] [HttpServerWorker-19] 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:478)
> at
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:374)
> at
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:225)
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
> at
> org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:104)
> at
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:197)
> at
> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:97)
> at
> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
> at
> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:122)
> at
> org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:79)
> at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:94)
> at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:100)
> at
> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:95)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> at
> org.apache.synapse.transport.nhttp.ServerWorker.processPost(ServerWorker.java:219)
> at
> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:183)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.axis2.AxisFault
> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
> at
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:72)
> at
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:370)
> ... 18 more
> Caused by: com.ctc.wstx.exc.WstxIOException: null
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
> at
> org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:118)
> at
> org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:401)
> at
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:66)
> ... 19 more
> Caused by: java.nio.channels.ClosedChannelException
> at sun.nio.ch.SinkChannelImpl.ensureOpen(SinkChannelImpl.java:136)
> at sun.nio.ch.SinkChannelImpl.write(SinkChannelImpl.java:140)
> at java.nio.channels.Channels.write(Channels.java:60)
> at java.nio.channels.Channels.access$000(Channels.java:47)
> at java.nio.channels.Channels$1.write(Channels.java:134)
> at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> at
> com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> ... 22 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://wso2.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev