我已经在客户端的服务器&上成功部署了GCM示例应用程序。我能够成功注册设备。但是,当我试图将消息发送到设备,正在显示以下异常在服务器日志:实施Google云消息传递时在Web服务器上的例外情况
Exception in thread "pool-1-thread-1" java.lang.IllegalArgumentException: argume
nt cannot be null
at com.google.android.gcm.server.Sender.nonNull(Sender.java:553)
at com.google.android.gcm.server.Sender.getString(Sender.java:534)
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:365)
at com.google.android.gcm.server.Sender.send(Sender.java:261)
at com.google.android.gcm.demo.server.SendAllMessagesServlet$1.run(SendA
llMessagesServlet.java:119)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
Exception in thread "pool-1-thread-2" java.lang.IllegalArgumentException: argume
nt cannot be null
at com.google.android.gcm.server.Sender.nonNull(Sender.java:553)
at com.google.android.gcm.server.Sender.getString(Sender.java:534)
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:365)
at com.google.android.gcm.server.Sender.send(Sender.java:261)
at com.google.android.gcm.demo.server.SendAllMessagesServlet$1.run(SendA
llMessagesServlet.java:119)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
在浏览器中,
下面的消息显示,但设备亘古不接收任何消息由于例外。
异步发送1个播报文到2个设备
任何提示/建议将是有益的。
如果您查看堆栈跟踪,执行会一直发送到sendNoRetry(),它在构造发件人之后调用(在调用send()之后调用)。如果您查看Sender.java,则“null”值将来自调用getErrorStream()而不是传递给发件人的参数。 – 2012-08-14 16:37:36