Hi,

 

I'm getting the following exception when I try to access the list of
deployed webservices (http://localhost:8080/manager/list) with a user who
has non-Latin characters in their user name:

 

java.lang.NullPointerException

org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormA
uthenticator.java:321)

 
org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthent
icator.java:245)

 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:523)

 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)

 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:588)

 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

        java.lang.Thread.run(Thread.java:619)

 

I'm running Tomcat and the browser (Firefox) all on my development PC with
Windows XP,  I've tried the same scenario, with the same results, on the
following Tomcat versions 5.5.23, 5.5.29 and 6.0.26 all on Java 1.6.0_12.  

 

My username and passwords are stored in a Postgres database and I have the
realm configured to access my database and tables in my server.xml, thus:

 

      <Realm  className="org.apache.catalina.realm.JDBCRealm"

             driverName="org.postgresql.Driver"

          connectionURL="jdbc:postgresql://localhost/uca"

         connectionName="blah" connectionPassword="blah"

              userTable="mg_users" userNameCol="username"
userCredCol="password"

          userRoleTable="mg_roles" roleNameCol="role" />

 

This only occurs when I add the following valve to /conf/context.xml

 

    <Valve className="org.apache.catalina.authenticator.FormAuthenticator"
characterEncoding="UTF-8" />

 

If I do not add the valve then Tomcat will not authenticate any attempt to
access the list page with a user name containing non-Latin characters, it
works perfectly if the user name contains only Latin characters.   Rationale
behind this approach:  my application consisting of a number of war files,
an html page and some jsp pages.   A user logs in via a html page which is
submitted as a form.  Now this works correctly for non-Latin characters when
I configure the context.xml in the application's META-INF directory with the
same valve, hence why I was trying to set it for all applications in the
hope that this would allow the manager list to be retrieved.   If I
explicitly set the valve just for the manager application I get the same
exception.     

 

Any pointers to what I'm doing wrong would be greatly appreciated. 

 

Chris Rafferty

Team Leader, Sidonis

 

e:  <mailto:carol.hopper...@sidonis.com> chris.raffe...@sidonis.com

w:  <http://www.sidonis.com/> www.sidonis.com

 

Reply via email to