【问题标题】:GCM HTTP Status 500 - Servlet.init() -Notification not sent-GCM HTTP 状态 500 - Servlet.init() - 未发送通知 -
【发布时间】:2013-07-04 11:36:31
【问题描述】:

我成功运行了我的应用程序并在我的服务器上注册了一个设备,因此我得到了“1 个设备已注册”和“发送消息”按钮。但是当我单击“发送消息”按钮时,我收到以下错误:

我正在使用 tomcat 和 Android 示例项目,如下所述: http://developer.android.com/google/gcm/server.html

    HTTP Status 500 - Servlet.init() for servlet SendAllMessagesServlet threw exception

    type Exception report

    message Servlet.init() for servlet SendAllMessagesServlet threw exception

    description The server encountered an internal error that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: Servlet.init() for servlet SendAllMessagesServlet threw exception
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
        java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        java.lang.Thread.run(Unknown Source)
    root cause

    java.lang.IllegalArgumentException: argument cannot be null
        com.google.android.gcm.server.Sender.nonNull(Sender.java:553)
        com.google.android.gcm.server.Sender.<init>(Sender.java:88)
        com.google.android.gcm.demo.server.SendAllMessagesServlet.newSender(SendAllMessagesServlet.java:62)
        com.google.android.gcm.demo.server.SendAllMessagesServlet.init(SendAllMessagesServlet.java:53)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
        java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        java.lang.Thread.run(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.41 logs.

有人可以帮忙吗

【问题讨论】:

    标签: android jakarta-ee tomcat push-notification google-cloud-messaging


    【解决方案1】:

    问题出在 API Key 上。 所以我得到了一个新的 api 密钥并将旧的密钥切换为新的密钥,它可以工作:)

    【讨论】:

      【解决方案2】:

      json-simple-1.1.jar 应该复制到您的 Web 应用程序的 WEB-INF/lib 文件夹中。这是解决方案:)

      【讨论】:

        猜你喜欢
        • 2017-11-01
        • 1970-01-01
        • 2018-06-29
        • 2017-06-25
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 2015-12-01
        相关资源
        最近更新 更多