2012-07-14 92 views
0

我正在关注教程http://developer.android.com/guide/google/gcm/demo.html#server-setup。我使用网络服务器(它是一个免费的Web服务器,不是本地主机)。一切都很好,我的设备已成功注册到服务器,在它所说的设备已注册的页面上。但是,当我单击发送消息时,下面的错误弹出。我不知道这是我使用的服务器阻止了一些方法(这样我切换服务器),或谷歌提供的示例代码有一个漏洞?韩国社交协会。android GCM示例,从服务器发送消息时出错

对不起的异常报告是漫长的(但不知道需要什么)

Exception report 

message 

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

exception 

java.security.AccessControlException: access denied (java.net.SocketPermission android.googleapis.com:443 connect,resolve) 
    java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 
    java.security.AccessController.checkPermission(AccessController.java:546) 
    java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
    java.lang.SecurityManager.checkConnect(SecurityManager.java:1034) 
    sun.net.www.http.HttpClient.openServer(HttpClient.java:527) 
    sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:271) 
    sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:328) 
    sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172) 
    sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:793) 
    sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158) 
    sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:896) 
    sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230) 
    com.google.android.gcm.server.Sender.post(Sender.java:468) 
    com.google.android.gcm.server.Sender.post(Sender.java:447) 
    com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:170) 
    com.google.android.gcm.server.Sender.send(Sender.java:121) 
    com.google.android.gcm.demo.server.SendAllMessagesServlet.doPost(SendAllMessagesServlet.java:76) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    java.lang.reflect.Method.invoke(Method.java:597) 
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) 
    java.security.AccessController.doPrivileged(Native Method) 
    javax.security.auth.Subject.doAsPrivileged(Subject.java:517) 
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) 
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) 
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs. 

回答

0

确保已贴上了正确的API密钥的应用程序。尝试使用“浏览器”API密钥而不是“服务器”API密钥。

+0

是的,我做了,我的设备只在使用浏览器API密钥后才被注册。所以这不是原因 – 2012-07-14 03:31:50

+0

您可能必须将完整堆栈跟踪从Tomcat错误日志中提取出来。 – 2012-07-14 03:33:26

+0

你想看什么? – 2012-07-14 03:34:34

相关问题