[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