我已經在客戶端的服務器&上成功部署了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