On Wed, 2007-10-17 at 16:01 +0100, Paul Fremantle wrote:
> Oleg
> 
> Do you think the problem will still happen on the non-fault case.
> 
> Paul
> 

No, I do not think so. Only fault responses appear affected. I can try
to come up with a fix for the bug if the issue is pressing.

Cheers

Oleg


> On 10/17/07, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote:
>         On Tue, 2007-10-16 at 19:36 +0100, Paul Fremantle wrote: 
>         > Using the QA build that was posted a couple of days ago, I
>         deployed
>         > sample 100 and typed
>         >
>         http://localhost:8080/soap/StockQuoteProxy/getQuote?symbol=IBM
>         into my
>         > browser.
>         >
>         
>         Asankha, Paul
>         
>         This is what I think is the cause of the problem:
>         
>         The ServerWorker class uses the following code to process HTTP
>         GET
>         requests
>         
>         ================== 
>         try {
>           serverHandler.commitResponse(conn, response);
>           HTTPTransportUtils.processHTTPGetRequest(
>             msgContext, os,
>             (request.getFirstHeader(SOAPACTION) != null ?
>             request.getFirstHeader(SOAPACTION).getValue() : null), 
>             request.getRequestLine().getUri(),
>             cfgCtx,
>             parameters);
>         } catch (AxisFault axisFault) {
>           handleException("Error processing GET request for: " +
>           request.getRequestLine().getUri(), axisFault); 
>         }
>         ==================
>         
>         (1) ServerWorker submits 200 response head prior to calling
>         HTTPTransportUtils.processHTTPGetRequest
>         (2) AxisFault gets thrown somewhere inside
>         #processHTTPGetRequest
>         (3) The #handleException method is called to handle the fault 
>         (4) At some point AxisEngine#sendFault(faultContext) gets
>         invoked
>         (5) AxisEngine attempts to submit an 500 response head
>         (6) Things get nasty
>         
>         I do not know Axis2 well enough to be able to fix the problem
>         myself 
>         easily, but I could dig in deeper into the Axis2 code if need
>         be.
>         
>         Apparently the bit of code above needs some work.
>         
>         The NIO HTTP transport in Axis2 proper is very likely to be
>         affected as
>         well.
>         
>         Cheers
>         
>         Oleg
>         
>         
>         > 2007-10-16 19:33:59,609 [10.0.0.3-pzfdell]
>         [HttpClientWorker-1] ERROR
>         > ServerHand
>         > ler 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(BasicHttpProcesso
>         > r.java:304)
>         >         at
>         >
>         org.apache.synapse.transport.nhttp.ServerHandler.commitResponse(Serve
>         > rHandler.java:220)
>         >         at
>         >
>         org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRespons
>         > e(HttpCoreNIOSender.java :350)
>         >         at
>         >
>         org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreN 
>         > IOSender.java:215)
>         >         at
>         > org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
>         >         at
>         org.apache.synapse.core.axis2.Axis2Sender.sendBack
>         > (Axis2Sender.java:1
>         > 04) 
>         >
>         >
>         > On 10/16/07, Asankha C. Perera <[EMAIL PROTECTED]> wrote:
>         >         Paul
>         >
>         >         Can you re-create this with the sample #100 etc?
>         Please send 
>         >         me details to reproduce.. AFAIK we do not have a
>         test case for
>         >         GET access... I will try this out and see what may
>         be wrong..
>         >         I believe you are not doing a load test
>         > 
>         >         asankha
>         >
>         >
>         >         Paul Fremantle wrote:
>         >         > I'm trying to use GET on a proxy service hosted in
>         Synapse.
>         >         > I'm getting this error:
>         >         > 
>         >         > 2007-10-16 15:53:12,421 [10.0.0.3-pzfdell] [I/O
>         dispatcher
>         >         > 7]  INFO PipeImpl Usi
>         >         > ng simulated buffered Pipes for event-driven to
>         stream IO
>         >         > bridging 
>         >         > 2007-10-16 15:53:12,906 [10.0.0.3-pzfdell]
>         >         > [HttpServerWorker-1] ERROR ServerHand
>         >         > ler 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(BasicHttpProcesso
>         >         > r.java:304)
>         >         >         at 
>         >         >
>         org.apache.synapse.transport.nhttp.ServerHandler.commitResponse (Serve
>         >         > rHandler.java:220)
>         >         >         at
>         >         >
>         org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRespons 
>         >         > e(HttpCoreNIOSender.java:352)
>         >         >         at
>         >         >
>         org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreN
>         >         > IOSender.java:215)
>         >         >         at 
>         >         >
>         org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
>         >         >         at
>         >         >
>         org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:1
>         >         > 04) 
>         >         >         at
>         >         >
>         org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send
>         >         > (Axis2Synap
>         >         > seEnvironment.java:170)
>         >         >
>         >         > I managed to get past this one by commenting out: 
>         >         >             if
>         >         > (httpVersion.greaterEquals(HttpVersion.HTTP_1_1))
>         {
>         >         >                 //entity.setChunked(true);
>         >         >             }
>         >         > line 127 ServerHandler.java
>         >         >
>         >         > then I get this one:
>         >         >
>         >         > 2007-10-16 16:01:45,125 [10.0.0.3-pzfdell]
>         >         > [HttpServerWorker-1] ERROR ServerHandler
>         Unexpected HTTP 
>         >         > protocol error : Response already submitted
>         >         > org.apache.http.HttpException : Response already
>         submitted
>         >         >         at
>         >         >
>         org.apache.http.impl.nio.DefaultNHttpServerConnection.submitResponse 
> (DefaultNHttpServerCo
>         >         > nnection.java:201)
>         >         >         at
>         >         >
>         
> org.apache.synapse.transport.nhttp.LoggingNHttpServerConnection.submitResponse
>  (LoggingNHt
>         >         > tpServerConnection.java:54)
>         >         >         at
>         >         >
>         
> org.apache.synapse.transport.nhttp.ServerHandler.commitResponse(ServerHandler.java:221)
>         >         >         at
>         >         >
>         
> org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse 
> (HttpCoreNIOSender.
>         >         > java:352)
>         >         >         at
>         >         >
>         org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke
>         (HttpCoreNIOSender.java:215)
>         >         >         at
>         >         >
>         org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
>         >         >         at
>         >         > org.apache.synapse.core.axis2.Axis2Sender.sendBack
>         (Axis2Sender.java:104)
>         >         >
>         >         > Help!!??
>         >         >
>         >         > Paul
>         >         >
>         >         > --
>         >         > Paul Fremantle
>         >         > Co-Founder and VP of Technical Sales, WSO2 
>         >         > OASIS WS-RX TC Co-chair
>         >         >
>         >         > blog: http://pzf.fremantle.org
>         >         > [EMAIL PROTECTED]
>         >         >
>         >         > "Oxygenating the Web Service Platform",
>         www.wso2.com
>         >
>         >
>         >
>         > --
>         > Paul Fremantle
>         > Co-Founder and VP of Technical Sales, WSO2 
>         > OASIS WS-RX TC Co-chair
>         >
>         > blog: http://pzf.fremantle.org
>         > [EMAIL PROTECTED]
>         >
>         > "Oxygenating the Web Service Platform", www.wso2.com
>         
>         
>         ---------------------------------------------------------------------
>         To unsubscribe, e-mail: [EMAIL PROTECTED]
>         For additional commands, e-mail:
>         [EMAIL PROTECTED]
>         
> 
> 
> 
> -- 
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2 
> OASIS WS-RX TC Co-chair
> 
> blog: http://pzf.fremantle.org
> [EMAIL PROTECTED]
> 
> "Oxygenating the Web Service Platform", www.wso2.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to