[ 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

Reply via email to