[英]Getting Exception from Google Cloud endpoints
We have developed mobile application by using phonegap. We are connecting to the backend by using Google Cloud endpoints. We have written our api's at server side
using java(Google App engine) to get the data. Every thing was working fine but suddenly i got the following exception:
代碼段:com.google.api.server.spi.SystemService invokeServiceMethod:cause = {0}
java.lang.NullPointerException
在com.veersoft.services.api.ListTenantAPI.listTenant(ListTenantAPI.java:49)在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)在sun.reflect .com的.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43),com.google.api.server.spi.SystemService.invokeServiceMethod(SystemService.java:359)處的java.lang.reflect.Method.invoke(Method.java:45) com.google.api.server.spi.SystemServiceServlet.doPost(SystemServiceServlet.java:118)位於com.google.api.server.spi.SystemServiceServlet.execute(SystemServiceServlet.java:160),位於javax.servlet.http.HttpServlet。 org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)處的javax.servlet.http.HttpServlet.service(HttpServlet.java:717)處的服務(HttpServlet.java:637)org.mortbay.jetty處的服務(ServletHolder.java:511) com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java)上的.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1166) :142),位於org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157),位於com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:66),位於com.google.inject。位於org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:的com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)的servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) 1157)位於com.veersoft.filter.ResetUserMessagesAndErrorsFilter.doFilter(ResetUserMessagesAndErrorsFilter.java:30)位於org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)位於com.googlecode.objectify.cache.AsyncCacheFilter org上的com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:49)的org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)的.doFilter(AsyncCacheFilter.java:59) org.mortba上的mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) y.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)在org.mortbay.jetty.servlet.ServletHandler $ org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)的org.mortbay.jetty.security.SecurityHandler.SecurityHandler.handle(SecurityHandler.java:216)的CachedChain.doFilter(ServletHandler.java:1157) org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)上的org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext)上的.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) .java:418),位於org.mortbay.jetty.HttpConnection的org.mortbay.jetty.Server.handle(Server.java:326),位於org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)。 org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:923)的org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)的handleRequest(HttpConnection.java:542) )的com.google.tracing.TraceContext $ TraceContextRunnable.runInContext(TraceContext.java:438)的com.google.tracing.TraceContext $ TraceContextRunnable $ 1.run(TraceContext.java:445)的com.google.tracing.CurrentContext.runInContext的) (CurrentContext.java:220)在com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:309)在com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:301)在com.google。 tracing.TraceContext $ TraceContextRunnable.run(TraceContext.java:442)在java.lang.Thread.run(Thread.java:724)
E 2014-10-03 10:00:48.322
com.google.api.server.spi.SystemService invokeServiceMethod: null
java.lang.NullPointerException
at com.veersoft.services.api.ListTenantAPI.listTenant(ListTenantAPI.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:45)
at com.google.api.server.spi.SystemService.invokeServiceMethod(SystemService.java:359)
at com.google.api.server.spi.SystemServiceServlet.execute(SystemServiceServlet.java:160)
at com.google.api.server.spi.SystemServiceServlet.doPost(SystemServiceServlet.java:118)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
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.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:142)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:66)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.veersoft.filter.ResetUserMessagesAndErrorsFilter.doFilter(ResetUserMessagesAndErrorsFilter.java:30)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.googlecode.objectify.cache.AsyncCacheFilter.doFilter(AsyncCacheFilter.java:59)
at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:49)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:438)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:445)
at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:220)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:309)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:301)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:442)
at java.lang.Thread.run(Thread.java:724)
一段時間后數據會恢復正常,但我不知道為什么上述異常突然發生,我擔心將來可能會發生這種情況? 我已經通過我的api,一切都很好。 有人能告訴我如何解決嗎?
如果查看堆棧跟蹤,很明顯,您的Endpoints API方法( com.veersoft.services.api.ListTenantAPI.listTenant
)就是發生空指針異常(NPE)的地方。 沒有看到您的代碼,我們無法知道確切的NPE是什么,但是堆棧跟蹤確實為您提供了行號,因此您可以在第49行檢查ListTenantAPI.java
以確定正在發生的事情。
您需要查看您的客戶端代碼,可能還需要查看phonegap,以找出為什么listTenant()
拋出NPE的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.