See https://issues.apache.org/jira/browse/TAP5-1304
Basically, the Request service isn't set up yet in the method you are invoking. Most likely, you want to contribute a filter to the RequestHandler service pipeline, not the HttpServletRequestHandler pipeline. On Wed, Oct 13, 2010 at 11:57 AM, Manuel Sugawara <manuel.sugaw...@gmail.com> wrote: > Hi all, > > Using tapestry 5.2.1. I have a filter that serves resources to clients > (images, documents, etc). This filter uses an injected service to check if > the user has the required permission to download the resource, but this is > not working as expected. The authorization filter throws an exception when > the following line is executed (full stack trace below): > > stateManager.getIfExists(Session.class); > > where stateManager is an ApplicationStateManager instance. The filter is > build by the application module using: > > public static void > contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> > configuration, @Autobuild FileFilter fileFilter) { > configuration.add("FileFilter", fileFilter); > } > > > The stack trace is: > > java.lang.NullPointerException > at $Request_12ba6e8f229.getSession($Request_12ba6e8f229.java) > at $Request_12ba6e8f207.getSession($Request_12ba6e8f207.java) > at > org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.exists(SessionApplicationStatePersistenceStrategy.java:80) > at > $ApplicationStatePersistenceStrategy_12ba6e8f228.exists($ApplicationStatePersistenceStrategy_12ba6e8f228.java) > at > org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$ApplicationStateAdapter.exists(ApplicationStateManagerImpl.java:60) > at > org.apache.tapestry5.internal.services.ApplicationStateManagerImpl.getIfExists(ApplicationStateManagerImpl.java:140) > at > $ApplicationStateManager_12ba6e8f226.getIfExists($ApplicationStateManager_12ba6e8f226.java) > at > mx.unam.xfc.auth.services.impl.SessionServiceImpl.authenticated(SessionServiceImpl.java:65) > at > $SessionService_12ba6e8f223.authenticated($SessionService_12ba6e8f223.java) > at > mx.unam.xfc.auth.services.impl.AuthorizationServiceImpl.authorized(AuthorizationServiceImpl.java:33) > at > $AuthorizationService_12ba6e8f21c.authorized($AuthorizationService_12ba6e8f21c.java) > at mx.unam.xfc.escuela.web.internal.FileFilter.service(FileFilter.java:89) > at > $HttpServletRequestHandler_12ba6e8f221.service($HttpServletRequestHandler_12ba6e8f221.java) > at > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:915) > at > $HttpServletRequestHandler_12ba6e8f221.service($HttpServletRequestHandler_12ba6e8f221.java) > at > $HttpServletRequestHandler_12ba6e8f217.service($HttpServletRequestHandler_12ba6e8f217.java) > at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) > at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) > at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:324) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) > > Any idea what can be wrong?. If there are more details needed to debug this > please just let me know. Thanks in advance. > > Regards, > Manuel. > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org