Oleg
I have a scenario where if I call via SOAP POST it works fine. When I call
by HTTP GET I get this
2007-10-17 17:27:01,718 [10.62.75.83-pzfdell] [HttpServerWorker-1] ERROR
ServerHandler Unexpected HT
TP 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:350)
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)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(
Axis2SynapseEnvironment.java:1
96)
So, I don't think its just the Fault case :(
Paul
On 10/17/07, Paul Fremantle <[EMAIL PROTECTED]> wrote:
>
> If I can get the success case working I'll be happy for now. Its just I
> thought I had that case and that was failing too :(
>
> Let me dig around a bit. However, I think we need to get this fixed and
> solid before 1.1 . I think there's also a problem with the logic, which is
> that the assumption is that if there are no parameters then I don't want to
> invoke the service - I just want to see the service HTML. However, I don't
> agree with that - I think there are lots of cases where I want no parameters
> to equate to an empty body. It may be that the same problem exists in the
> standard Axis2 HTTP tran as well.
>
> Paul
>
> On 10/17/07, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote:
> >
> > 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]
> >
> >
>
>
> --
> 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