Hi,

I am using App Engine 1.2.6 and GWT 1.7.1.
I have a App Engine application that uses GWT and authenticates users
with Google Accounts.
I have been able to make the application force a user to sign in with
the Google Account and then redirect the user to the page that was
requested.

I am having trouble with the sign-out part. Upon sign-out, I want the
application to show an HTML page that says that the user has been
signed out and provides a link to sing back it.
The name of this file is loggedout.html and it resides at the top
level of the WAR/ folder.

I am using the Struts framework in the web application and I do the
following in the Struts Action that gets executed when the user
chooses to log out of the application.

                UserService userService = UserServiceFactory.getUserService ();
                return new ActionForward (userService.createLogoutURL (“/
loggedout.html”));

This works fine when the application is running in the embedded
browser in the development mode.
However, when I deploy the application to the App Engine, I get a
NullPointerException with the following stacktrace. Any idea what’s
going on?

Thanks,
Viji


Uncaught exception from servlet
java.lang.NullPointerException
        at
org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:
113)
        at
org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:
96)
        at
org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:
54)
        at
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:
51)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:
191)
        at
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:
305)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:
191)
        at
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:
283)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
1913)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
        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
com.ace.prototype.server.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:
30)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1084)
        at
com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
97)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1084)
        at
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
35)
        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
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.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
238)
        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.headerComplete(HttpConnection.java:830)
        at
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
        at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
135)
        at
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
235)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5485)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5483)
        at
com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:
24)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
363)
        at com.google.net.rpc.impl.Server$2.run(Server.java:837)
        at
com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
56)
        at
com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:
536)
        at com.google.net.rpc.impl.Server.startRpc(Server.java:792)
        at com.google.net.rpc.impl.Server.processRequest(Server.java:367)
        at
com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:
448)
        at
com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
319)
        at
com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
290)
        at com.google.net.async.Connection.handleReadEvent(Connection.java:
474)
        at
com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:
774)
        at
com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
205)
        at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
101)
        at
com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
251)
        at com.google.apphosting.runtime.JavaRuntime
$RpcRunnable.run(JavaRuntime.java:394)
        at java.lang.Thread.run(Unknown Source)

Unexpected exception from servlet: java.lang.NullPointerException

-- 
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.

Reply via email to