[jcifs] url-pattern problem with internet explorer (ie resending NTLM-authentication)

floooh floh.mueller at web.de
Wed May 30 12:51:37 GMT 2007


hey there,

i made a tiny web-app (kind of "hello-world") with google's gwt and deployed it
on a jboss-server. there's a remote-service on the server which can be called
from the client. (watch http://rapidshare.com/files/34058146/sso.war.html for
details - it's REALLY not many lines of code!)

everything worked fine on both firefox and internet explorer.
then i changed the url-pattern from /* to /SSO.html - from now on i would get an
error whenever trying to call a function on the server. (stacktrace at the end
of the post)

i tried to figure out what was going wrong and even used a sniffer to have a
look at the network messages between client and server.
what i got was surprising (at least to me):
with firefox there's one ntlm-authentication when loading the page and none when
calling the function on the server.
whereas IE sends some ntlm-authentication-stuff again and again.

that's fine when having the url-pattern /*. IE get's some ntlm-stuff back and
everything's working as it should. but with a different url-pattern there's no
ntlm-answer from the server, but an error...


i would really appreciate some help on this. if i don't get it to work i'd have
to think about looking for a different solution.

regards,
         florian



and here's the stacktrace from the server log (i could also send/upload the
network log (.acp-format: http://analyzer.polito.it/), if someone thinks he
might figure something out knowing what server and client are doing in detail):

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/sso]]
	Exception while dispatching incoming RPC call
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
	extract(ServerSerializationStreamReader.java:256)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
	readInt(ServerSerializationStreamReader.java:114)
at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.
	prepareToRead(AbstractSerializationStreamReader.java:38)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
	prepareToRead(ServerSerializationStreamReader.java:85)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.
	processCall(RemoteServiceServlet.java:199)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.
	doPost(RemoteServiceServlet.java:167)
at javax.servlet.http.HttpServlet.
	service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.
	service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.
	internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.
	doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.
	doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.
	internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.
	doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.
	invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.
	invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.
	invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.
	invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.
	invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.
	invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.
	invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.
	invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.
	service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.
	process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.
	processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.
	processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.
	runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.
	run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)




More information about the jcifs mailing list