2016-07-14 120 views
0

我在第一次在IBM worklight(7.0)中推送通知配置。我已經從IBM site下載了混合應用程序示例項目。IBM Worklight-pushnotifications

我堅持下面的錯誤......請幫我在這

000001ad com.ibm.pushworks.server.notification.gcm.GCMMediator  W FPWSE1079W: GCM push token 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxXXXXXXXXXXXX' is not added to GCM notification key. GCM Service invocation failed (reason: Error while invoking request) 
com.ibm.pushworks.server.exceptions.GCMException: GCM Service invocation failed (reason: Error while invoking request) 
    at com.ibm.pushworks.server.notification.gcm.GCMSender.sendToGCM(GCMSender.java:381) 
    at com.ibm.pushworks.server.notification.gcm.GCMSender.addTokenToAndroidKey(GCMSender.java:353) 
    at com.ibm.pushworks.server.notification.gcm.GCMMediator.addTokenToAndroidKey(GCMMediator.java:206) 
    at com.ibm.pushworks.server.core.PushServiceImpl.getNotificationKey(PushServiceImpl.java:1848) 
    at com.ibm.pushworks.server.core.PushServiceImpl.updateDevice(PushServiceImpl.java:658) 
    at com.worklight.integration.services.impl.DataAccessServiceImpl.updateDeviceToken(DataAccessServiceImpl.java:465) 
    at com.worklight.gadgets.serving.handler.NotificationSubscriptionHandler.doPost(NotificationSubscriptionHandler.java:126) 
    at com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:176) 
    at com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:133) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:595) 
    at com.worklight.gadgets.serving.GadgetAPIServlet.service(GadgetAPIServlet.java:116) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1275) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:766) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:472) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:135) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89) 
    at com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:239) 
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76) 
    at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:246) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:86) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:975) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1097) 
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:81) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:912) 
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:262) 
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:938) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626) 
    at java.lang.Thread.run(Thread.java:780) 
Caused by: java.net.UnknownHostException: android.googleapis.com: android.googleapis.com 
    at java.net.InetAddress.getAllByName0(InetAddress.java:1348) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1257) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1182) 
    at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) 
    at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:102) 
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:319) 
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) 
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) 
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) 
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) 
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) 
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) 
    at com.ibm.pushworks.server.notification.gcm.GCMSender.sendToGCM(GCMSender.java:377) 
    ... 30 more 
+0

你什麼時候收到這個錯誤?請給出再現步驟 – DoraC

回答

2

我相信這裏的主要問題是從日誌如下:

的java.net.UnknownHostException :android.googleapis.com:android.googleapis.com

從谷歌的文檔:

如果您的組織具有防火牆來限制流量進出Internet,則需要對其進行配置以允許與GCM連接。要打開的端口是:5228,5229和5230.GCM通常只使用5228,但它有時使用5229和5230.GCM不提供特定的IP,因此您應該允許服務器接受來自所有IP地址的傳入連接在Google的ASN 15169中列出的IP塊中。

確保所有這些都已到位,然後重試。這可能是一個網絡問題。