2

JavaPNS 2.2 を使用して、プロキシ経由で Apple デバイスにプッシュしようとしています。私の Java アプリケーションはファイアウォールの背後にある jBoss で実行されており、Apple サーバーと通信する唯一の方法はそのプロキシを経由することです。

 public ApplePushNotification(File certificate){

    super();
    ProxyManager.setProxy("myproxy", "myport");
    this.certificate = certificate;

}

この例外が発生しています。

javapns.communication.exceptions.CommunicationException: Communication exception: java.io.IOException: Unable to tunnel through. Proxy returns "HTTP/1.1 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )"

そこで、ProxyManager.java ファイルを読んで、承認の方法を見つけました。私はこれを見つけました:

        /**
         * Configure the authorization for the proxy configured through the setProxy method.
         * 
         * @param username the user name to use
         * @param password the password to use
         */
        public static void setProxyBasicAuthorization(String username, String password) {
                setProxyAuthorization(encodeProxyAuthorization(username, password));
        }

その静的メソッドを使用しようとしましたがProxyManager.setProxy("myproxy", "myport");、使用できません。助けていただければ幸いです。ありがとう

追加のリンク:

http://code.google.com/p/javapns/source/browse/trunk/src/javapns/communication/ProxyManager.java

http://code.google.com/p/javapns/

4

1 に答える 1

1

最後に、JavaPNS2.3ベータで動作させます。

ProxyManager.setProxy("myProxy", "myPort");
ProxyManager.setProxyBasicAuthorization("username", "password");

JavaPNS 2.2で実行する場合は、自分で実装する必要があります。ただし、2.3を使用する方がはるかに簡単です。javaPNS_2.3_Beta_2.jarをライブラリとしてプロジェクトに含めるだけです。

https://github.com/azinman/javapns/blob/master/JavaPNS_2.3_Beta_2.jar?raw=true

于 2012-11-27T07:37:14.707 に答える