You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modules-dev@httpd.apache.org by Sam Carleton <sc...@gmail.com> on 2009/05/02 21:27:17 UTC

Re: error in the auth code? (I think I found the key piece of info)

Ok,  I think in my last email I covered up the actual problem by adding a
CRLF.  In the apache log file I am getting this:

Invalid URI in request <s:Envelope xmlns:s="
http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema"><getNode
xmlns="urn:mmpp:catalogmgr"><nodeId xmlns=""/><ignoreActiveFlag
xmlns="">true</ignoreActiveFlag><userId
xmlns="">Sam</userId></getNode></s:Body></s:Envelope>POST
/axis2/services/CatalogMgr HTTP/1.1

If you look at the very end, there is the beginning of the second request:
POST /axis2/services/CatalogMgr HTTP/1.1

How can these two requests get run together like this?  Is some buffer in my
Apache module not getting cleared correctly or is the client doing this?
Remember the client is simply WCF C#.

Sam

Re: error in the auth code? (I think I found the key piece of info)

Posted by Joe Lewis <jo...@joe-lewis.com>.
Sam Carleton wrote:
> Ok,  I think in my last email I covered up the actual problem by adding a
> CRLF.  In the apache log file I am getting this:
>
> Invalid URI in request <s:Envelope xmlns:s="
> http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema"><getNode
> xmlns="urn:mmpp:catalogmgr"><nodeId xmlns=""/><ignoreActiveFlag
> xmlns="">true</ignoreActiveFlag><userId
> xmlns="">Sam</userId></getNode></s:Body></s:Envelope>POST
> /axis2/services/CatalogMgr HTTP/1.1
>
> If you look at the very end, there is the beginning of the second request:
> POST /axis2/services/CatalogMgr HTTP/1.1
>
> How can these two requests get run together like this?  Is some buffer in my
> Apache module not getting cleared correctly or is the client doing this?
> Remember the client is simply WCF C#.
>
> Sam
>
>   
One more note.  If you are doing some input filtering, you might be the 
new request to the old filter data (tacking it onto the end of a 
pre-existing variable you had defined on a previous request).  That 
might explain it from a server-side.  The client side suggestions still 
stand, though it could be both.

Joe

Re: error in the auth code? (I think I found the key piece of info)

Posted by Sam Carleton <sc...@gmail.com>.
On Sat, May 2, 2009 at 3:45 PM, Sam Carleton <sc...@gmail.com> wrote:

>
> The question is... How do I do that?
>

By calling ap_discard_request_body(r) in the correct location!

Re: error in the auth code? (I think I found the key piece of info)

Posted by Sam Carleton <sc...@gmail.com>.
On Sat, May 2, 2009 at 3:35 PM, Joe Lewis <jo...@joe-lewis.com> wrote:

> I expect that the client is doing this.  Since you are using C#, it will
> try and make every request under the same connection.  With what you have
> described, it is more than likely a problem with the client trying to run
> things together.  I'd  try and force it to HTTP 1.0 (if you can) on the
> client side.  That will force subsequent requests to the same server to
> create new TCP connections, rather than reusing.  If that does work, then it
> is definitely in the client trying to bleed stuff together and not buffering
> properly.  (That is actually what I expect).


Jon,

You nailed problem, but not the cause.  The cause is...

My code is not flushing the input queue when it kicks back the first 401.  I
need to detect that it is a POST and clean things up.

The question is... How do I do that?

Sam

Re: error in the auth code? (I think I found the key piece of info)

Posted by Joe Lewis <jo...@joe-lewis.com>.
Sam Carleton wrote:
> Ok,  I think in my last email I covered up the actual problem by adding a
> CRLF.  In the apache log file I am getting this:
>
> Invalid URI in request <s:Envelope xmlns:s="
> http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema"><getNode
> xmlns="urn:mmpp:catalogmgr"><nodeId xmlns=""/><ignoreActiveFlag
> xmlns="">true</ignoreActiveFlag><userId
> xmlns="">Sam</userId></getNode></s:Body></s:Envelope>POST
> /axis2/services/CatalogMgr HTTP/1.1
>
> If you look at the very end, there is the beginning of the second request:
> POST /axis2/services/CatalogMgr HTTP/1.1
>
> How can these two requests get run together like this?  Is some buffer in my
> Apache module not getting cleared correctly or is the client doing this?
> Remember the client is simply WCF C#.
>
> Sam
>
>   
I expect that the client is doing this.  Since you are using C#, it will 
try and make every request under the same connection.  With what you 
have described, it is more than likely a problem with the client trying 
to run things together.  I'd  try and force it to HTTP 1.0 (if you can) 
on the client side.  That will force subsequent requests to the same 
server to create new TCP connections, rather than reusing.  If that does 
work, then it is definitely in the client trying to bleed stuff together 
and not buffering properly.  (That is actually what I expect).

Joe