XSRFTokenUtility中的NPE - Google移动后端启动程序

时间:2013-09-30 15:36:34

标签: java android google-app-engine google-cloud-endpoints

我正在尝试在Google IO上设置Geek Serendipity后端示例 (http://bradabrams.com/2013/05/google-io-2013-session-overview-from-nothing-to-nirvana-in-minutes-cloud-backend-for-your-android-application-building-geek-serendipity/

我正按照https://github.com/GoogleCloudPlatform/solutions-mobile-backend-starter-java的说明进行操作 (我正在从源代码部署,因为我需要稍后添加一些自定义端点)

但是,按照说明并部署到AppEngine后,我无法访问已部署应用程序(configure.jsp)的主页以解锁应用程序以进行开发调用。我在XSRFTokenUtility.java上获得了一个NullPointer。

Uncaught exception from servlet
java.lang.NullPointerException
        at com.google.cloud.backend.config.XSRFTokenUtility.buildTokenString(XSRFTokenUtility.java:136)
        at com.google.cloud.backend.config.XSRFTokenUtility.getToken(XSRFTokenUtility.java:64)
        at com.google.cloud.backend.config.ConfigurationServlet.getToken(ConfigurationServlet.java:208)
        at org.apache.jsp.admin.configure_jsp._jspService(configure_jsp.java:56)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
        at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at 

其他细节:

App ID:mobile-starter-yaraju-1

Eclipse版本:4.2(Juno)

AppEngine SDK版本:1.8.5

Eclipse的Google插件:3.4.1.v201309130745-rel-r42

操作系统:Windows 8 64位

2 个答案:

答案 0 :(得分:2)

终于解决了这个问题。源代码很好,我从zip中提取了一个格式错误的web.xml。

如果您遇到这种情况,请清除Windows Temp缓存,然后再次提取后端zip。

答案 1 :(得分:0)

我的解决方案:不要从源代码部署。

关注此页:http://developers.google.com/cloud/samples/mbs/deploy_backend

部署“移动样本应用程序”的选项终于回来了。直接部署到云端,后端可以使用示例Android客户端应用程序运行