java.security.AccessControlException:访问被拒绝(java.net.SocketPermission android.googleapis.com:443 connect,resolve)

时间:2012-10-01 10:04:46

标签: android web-services google-cloud-messaging

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:91)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    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)

我来自http://androidv5.wordpress.com/2012/08/15/how-to-implement-google-cloud-messaging/ ...所以除了这个解决方案.. pl帮助我解决这个错误..我已经在所有文件中给予了所有权限......事情是..我主持我的战争档案在网上..当我从android emultor运行客户端pgm ..服务器注册客户端(即服务器从客户端(emulatore)获得响应,但当我从服务器发送消息到客户端我得到上述错误)..也有我用过的浏览器api key

2 个答案:

答案 0 :(得分:2)

将权限放在清单文件中:

      <permission android:name="com.example.gcm.permission.C2D_MESSAGE"android:protectionLevel="signature"/>
        <uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" /> 
        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

答案 1 :(得分:0)

我有完全相同的错误 - 我已经构建了serveride .war文件并将其部署在免费的java主机eatj上。好像我的免费主机没有权限