2012-12-18 7 views
2

다음 코드를 사용하여 Apple Notification Server에 알림을 보내고 있습니다.Javapns를 사용하는 Apple 푸시 알림 서비스

import javapns.Push; 
import javapns.communication.exceptions.CommunicationException; 
import javapns.communication.exceptions.KeystoreException; 

public class APN 
{ 
    public static void main(String[] args) { 
     try { 
      Push.alert("Hello World!", "keystore.p12", "mypassword", false, "myDeviceIdentifier"); 
     } 
     catch (CommunicationException e) { 
      e.printStackTrace(); 
     } 
     catch (KeystoreException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

설명서에 지정된 모든 병이 포함되어 있습니다. Javapns.
그러나이 코드를 실행할 때 예외가 발생합니다.

log4j:WARN No appenders could be found for logger (javapns.notification.Payload). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
javapns.communication.exceptions.CommunicationException: Communication exception: 
java.net.ConnectException: Operation timed out 
at javapns.communication.ConnectionToAppleServer.getSSLSocket(ConnectionToAppleServer.java:158) 
at javapns.notification.PushNotificationManager.initializeConnection(PushNotificationManager.java:106) 
at javapns.Push.sendPayload(Push.java:171) 
at javapns.Push.alert(Push.java:47) 
at com.mydomain.myapp.APN.main(APN.java:12) 
Caused by: java.net.ConnectException: Operation timed out 
at java.net.PlainSocketImpl.socketConnect(Native Method) 
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) 
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) 
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) 
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432) 
at java.net.Socket.connect(Socket.java:529) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:570) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:371) 
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:71) 
at javapns.communication.ConnectionToAppleServer.getSSLSocket(ConnectionToAppleServer.java:155) 
... 4 more 

.p12 인증서를 만들었으며 64 자 길이의 장치 식별자가 있습니다.

제발, 해결책을 제안 해주세요.
도움이 될 것입니다.

답변

3

정보의 주요 부분은 다음과 같습니다

java.net.ConnectException은 : 작업

이 코드를 실행하는 서버가 지정한 포트에 사과 APN 서버에 연결할 수있는 확신을 시간 초과?

힌트 : 확인하려면 텔넷을 사용하십시오.

+0

안녕하세요. 감사합니다. 내 방화벽 때문에 연결 시간이 초과되었습니다. – bitsbuffer