android GCM示例,从服务器发送消息时出错

android GCM示例,从服务器发送消息时出错,android,google-cloud-messaging,Android,Google Cloud Messaging,我现在正在学习教程。我使用webserver(它是web上的免费jsp服务器,而不是本地主机)。一切正常,我的设备已成功注册到服务器,页面上显示1台设备已注册。但是,当我单击发送消息时,会弹出下面的错误。我想知道是我使用的服务器阻止了某种方法(因此我切换了服务器),还是谷歌提供的示例代码有漏洞?tks 抱歉,异常报告很长(但不知道需要什么) 异常报告 消息 说明服务器遇到内部错误(),无法完成此请求。 例外 java.security.AccessControlException:拒绝访问(ja

我现在正在学习教程。我使用webserver(它是web上的免费jsp服务器,而不是本地主机)。一切正常,我的设备已成功注册到服务器,页面上显示1台设备已注册。但是,当我单击发送消息时,会弹出下面的错误。我想知道是我使用的服务器阻止了某种方法(因此我切换了服务器),还是谷歌提供的示例代码有漏洞?tks

抱歉,异常报告很长(但不知道需要什么)

异常报告
消息
说明服务器遇到内部错误(),无法完成此请求。
例外
java.security.AccessControlException:拒绝访问(java.net.SocketPermission android.googleapis.com:443 connect,resolve)
AccessControlContext.checkPermission(AccessControlContext.java:323)
java.security.AccessController.checkPermission(AccessController.java:546)
checkPermission(SecurityManager.java:532)
checkConnect(SecurityManager.java:1034)
net.www.http.HttpClient.openServer(HttpClient.java:527)
net.www.protocol.https.HttpsClient.(HttpsClient.java:271)
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)
net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:896)
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.sendnorary(Sender.java:170)
com.google.android.gcm.server.Sender.send(Sender.java:121)
com.google.android.gcm.demo.server.SendAllMessagesServlet.doPost(SendAllMessagesServlet.java:76)
javaservlet.http.HttpServlet.service(HttpServlet.java:710)
javaservlet.http.HttpServlet.service(HttpServlet.java:803)
sun.reflect.GeneratedMethodAccessor47.invoke(未知源)
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(本机方法)
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)
注意,Apache Tomcat/5.5.23日志中提供了根本原因的完整堆栈跟踪。

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

是的,我使用了,并且我的设备只有在使用浏览器API密钥后才能注册。因此,这不是您可能必须从Tomcat错误日志中提取完整堆栈跟踪的原因。不能在此处发布(字符限制)请参阅
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.