Hi, I think I want to try it. Can post do you the source?
thanks. > I'm getting this exception trying to use GAE to login in my local > environment. > > java.lang.NullPointerException > at > com.google.appengine.api.users.dev.LoginCookieUtils.encodeEmailAsUserId(LoginCookieUtils.java: > 89) > at > com.google.appengine.api.users.dev.LoginCookieUtils.createCookie(LoginCookieUtils.java: > 41) > at > com.google.appengine.api.users.dev.LocalLoginServlet.doPost(LocalLoginServlet.java: > 90) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > 487) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: > 362) > 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: > 712) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 405) > at > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: > 70) > at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268) > at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) > at > net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.java: > 110) > at net.sourceforge.stripes.controller.DispatcherHelper > $7.intercept(DispatcherHelper.java:508) > at > net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java: > 158) > at > net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheInterceptor.java: > 99) > at > net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java: > 155) > at > net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java: > 113) > at > net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java: > 155) > at > net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java: > 74) > at > net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(DispatcherHelper.java: > 502) > at > net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(DispatcherServlet.java: > 286) > at > net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java: > 170) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > 487) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1093) > at > net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java: > 247) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: > 51) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: > 43) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: > 121) > 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: > 712) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 405) > at > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: > 70) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 139) > at com.google.appengine.tools.development.JettyContainerService > $ApiProxyHandler.handle(JettyContainerService.java:352) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 139) > at org.mortbay.jetty.Server.handle(Server.java:313) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > 506) > at org.mortbay.jetty.HttpConnection > $RequestHandler.content(HttpConnection.java:844) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: > 396) > at org.mortbay.thread.BoundedThreadPool > $PoolThread.run(BoundedThreadPool.java:442) > > I'm using stripes, and I only get this in one particular action while > forwarding the the url returned by userService.createLoginURL(). I've > created a separate test action, which will forward to the login page > just fine. I can't quite figure out what my code is doing to cause a > null pointer in the GAE code. > > My default handler does these particular things before returning a > forward resolution to the login url. > 1. get session > 2. get request's content type and content. > 3. store some data in the session > 4. if user isn't logged in (userService.isUserLoggedIn()) return a > ForwardResolution to the url generated by createLoginURL(). Otherwise > do other processing. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.