[jcifs] NtlmHttpFilter: Apparent Tomcat conflict with errorCode=401

Michael B Allen mba2000 at ioplex.com
Wed Jun 15 17:33:02 GMT 2005


On Wed, 15 Jun 2005 18:25:48 +0200
Florian Kolbe <Florian.Kolbe at in-gmbh.de> wrote:

> Hi,
>   my setup is Tomcat-5.0.28/JBoss-3.2.6 with jcifs_1.1.2.
> 
> Although NTLM sso works fine, I keep getting the exception below.
> My understanding is that the servlet container tries some error page
> handling due to the status code 401 which is required for the NTLM
> challenge.
> 
> I even looked up the Tomcat source
> (org.apache.coyote.Response.reset(Response.java:296))
> and the part that throws the exception is:
> 
>         // Reset the stream
>         if (commited) {
>             //String msg =
> sm.getString("servletOutputStreamImpl.reset.ise"); 
>             throw new IllegalStateException();
>         }
> 
> This page (http://www.jguru.com/faq/view.jsp?EID=501393) states, that
> calling flushBuffer() sets the commited flag.
> 
> 1. Seems like the response is 'commited' in some way, the Tomcat does not
> like that?
> 2. Might resp.flushBuffer() be a problem in NtlmHttpFilter ?
> 3. What is the purpose of resp.flushBuffer() and can it be omitted ?
> 4. Is there a way to disable the processing by tomcat ?

I think this is something the container needs to deal with. I should be
able to set an error status and call flushBuffer.

Mike


More information about the jcifs mailing list