Alexander (HH): Nur einen Useragenten zulasssen

Beitrag lesen

PS ich bekam drei Header zurück
Zweimal redirection

Ja, einmal von /de auf /de/, dann von /de/ auf /de/index.xml

Hm, ich bekomme nur den Redirect auf die index.xml, dort ist dann eine Tomcat-Standard-Fehlerseite mit einem Java-Traceback. Dies ist reproduzierbar abhängig vom gesendeten User-Agent aus Seamonkey heraus. Wie hast Du die Request-Header eingestellt?

Mit Telnet:

telnet www.wow-europe.com 80
Trying 80.239.186.22...
Connected to www.wow-europe.com.
Escape character is '^]'.
GET /de/index.xml HTTP/1.1
Host: www.wow-europe.com

HTTP/1.1 500 Internal Server Error
Date: Sat, 09 Jun 2007 23:36:48 GMT
Server: Apache
Content-Length: 2326
Connection: close
Content-Type: text/html;charset=utf-8

<html><head><title>Apache Tomcat/5.5.17 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.lang.NullPointerException
        com.blizzard.wow.web.action.view.BrowserCaps.getCapsFromRequest(BrowserCaps.java:29)
        com.blizzard.wow.web.action.view.ClientXsltView.doTransform(ClientXsltView.java:135)
        com.blizzard.wow.web.action.view.ClientXsltView.doTransform(ClientXsltView.java:101)
        com.blizzard.wow.web.action.view.ClientXsltView.renderMergedOutputModel(ClientXsltView.java:75)
        com.blizzard.wow.web.action.view.ReloadableCachedXmlView.renderMergedOutputModel(ReloadableCachedXmlView.java:44)
        org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:241)
        org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:678)
        org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:562)
        org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:321)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:73)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
        com.blizzard.wow.web.filter.WelcomeFilter.doFilter(WelcomeFilter.java:52)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5.17</h3></body></html>Connection closed by foreign host.

Die Nullpointer Exception tritt wohl in com.blizzard.wow.web.action.view.BrowserCaps.getCapsFromRequest() auf, dem Namen nach würde ich auf eine Routine tippen, die die Fähigkeiten des Browsers anhand der übermittelten Kennung beurteilt und stumpf voraussetzt, das der User-Header immer da ist. Nicht eben die cleverste Idee, aber es schien den Entwlicklern wohl als sinnvoll zu erscheinen. Nur haben sie vergessen, dass nicht jeder User-Agent einen User-Agent-Header übermittelt. Mein telnet aus der BSD-Familie macht das definitiv nicht. ;-) Mit irgendeinem beliebigen User-Agent-Header ("blafasel/0.8.15 (foo bar 3.1415)") tritt die Exception nicht auf.

Alexander