簡體   English   中英

從Google Cloud端點獲取例外

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM