we had a discussion about this before, perhaps on the dev@ mailing list. I proposed one approach to use a default agent. Anyone remember what happened to that discussion?
-Andrew Sent from my iPod On 2008-09-08, Jonathan Bullock <[EMAIL PROTECTED]> wrote: > Hello, > > The web app I'm using Trinidad on needs to be indexed by Google > correctly and the Googlebot has just started crawling it. I've noticed > that every time the Googlebot makes a request to the web app a NPE is > generated and I don't want Google indexing the stack trace error. > > I've been testing our web app today using the latest nightly build of > Trinidad & Firefox's User Agent Switcher extension along with the > following user agent: > > Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) > > The stack trace generated on the first request is: > > Sep 8, 2008 12:38:05 PM com.sun.facelets.FaceletViewHandler > handleRenderException > SEVERE: Error Rendering View[/index.xhtml] > java.lang.NullPointerException: version must be non-null > at > org.apache.myfaces.trinidad.context.Version._checkNonEmptyString(Version.java:197) > at org.apache.myfaces.trinidad.context.Version.<init>(Version.java:69) > at org.apache.myfaces.trinidad.context.Version.<init>(Version.java:54) > at > org.apache.myfaces.trinidadinternal.style.xml.parse.StyleSheetNode.compareVariants(StyleSheetNode.java:221) > at > org.apache.myfaces.trinidadinternal.style.xml.parse.StyleSheetDocument._getStyleSheets(StyleSheetDocument.java:326) > at > org.apache.myfaces.trinidadinternal.style.xml.parse.StyleSheetDocument.getStyleSheets(StyleSheetDocument.java:181) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache._getNamespacePrefixes(FileSystemStyleCache.java:1017) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache._getStyleSheetDocument(FileSystemStyleCache.java:634) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache._getEntry(FileSystemStyleCache.java:410) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache.getStyleSheetURIs(FileSystemStyleCache.java:161) > at > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.StyleSheetRenderer.encodeAll(StyleSheetRenderer.java:89) > at > org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224) > at > org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:693) > at > com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:242) > at > com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239) > at > com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:540) > at > org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182) > at > org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) > at > org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) > at > org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:686) > at > org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:656) > at org.apache.jsp.index_jsp._jspService(index_jsp.java:43) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Thread.java:595) > > The stack trace on every request after that is: > > Sep 8, 2008 12:39:26 PM com.sun.facelets.FaceletViewHandler > handleRenderException > SEVERE: Error Rendering View[/index.xhtml] > java.lang.NullPointerException > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache$Key.hashCode(FileSystemStyleCache.java:1198) > at java.util.Hashtable.get(Hashtable.java:336) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache._getEntryInternal(FileSystemStyleCache.java:459) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache._getEntry(FileSystemStyleCache.java:454) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache._getEntry(FileSystemStyleCache.java:422) > at > org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache.getStyleSheetURIs(FileSystemStyleCache.java:161) > at > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.StyleSheetRenderer.encodeAll(StyleSheetRenderer.java:89) > at > org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224) > at > org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:693) > at > com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:242) > at > com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239) > at > com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:540) > at > org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182) > at > org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) > at > org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) > at > org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:686) > at > org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:656) > at org.apache.jsp.index_jsp._jspService(index_jsp.java:43) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Thread.java:595) > > How can I stop a 500 error page being shown to requests made by the > Googlebot? > > Thanks, > Jonathan > > > --- > > Fugro Data Solutions Limited > Tyn y Coed > Llanrhos > Llandudno > North Wales > LL30 1SA > United Kingdom > > Tel: +44 (0)1492 563555 > Fax: +44 (0)1492 592030 > > General Email: [EMAIL PROTECTED] > > Website: www.fugro-data.com > > This email and any attachments are confidential. They may > contain privileged information and are intended for the named > addressee(s) only. They must not be distributed without our > consent. If you are not the intended recipient, please notify us > immediately and do not disclose, distribute, or retain this > email or any part of it. Unless expressly stated, opinions in > this email are those of the individual sender, and not of Fugro > Data Solutions Ltd. We believe but do not warrant that this > e-mail and any attachments are virus free. You must therefore > take full responsibility for virus checking. Fugro Data > Solutions Ltd and its subsidiaries may monitor email traffic > data and also the content of email for the purposes of security. > This email is not intended to create legal relations. > > Fugro Data Solutions Limited is a limited company registered in > England and Wales (Reg No. 5583527) at Tyn y Coed, Pentywyn Road, > Llanrhos, Llandudno, LL30 1SA. VAT No. GB901440962. >