2017-05-08 11 views
0

BindingType.Browserを使用してOpenCMISクライアントを開発しています。 USER、PASSWORD、BROWSER_URL、BINDING_TYPE、およびREPOSITORY_IDの必須パラメーターを渡すセッションを作成すると、正常に機能します。セッションが作成され、さらにステップが実行されます。OpenCMISクライアントでのHTTPプロキシ認証

今、インターネットにアクセスするためにHTTPプロキシを使用するマシンでクライアントを実行したいとします。アクセスするプロキシを指定するにはシステムプロパティhttp.proxyUrlとhttp.proxyPortを設定します。プロキシが認証を必要としない限り、これも機能します。

これは、今私が苦労しているところです。テスト用プロキシで認証を有効にし、クライアントコードでPROXY_USERとPROXY_PASSWORDというパラメータを追加してセッションを作成しました。しかし、これは動作していないようです。私はすでに使用されているStandardAuthenticationProviderをデバッグして何が起こるかを検証しました。 HTTPヘッダー "Proxy-Authenticate"は認証プロバイダーによって作成されますが、ケミストリーフレームワークがそのヘッダーなしで要求を送信しているようです。私のプロキシのログには、受信したリクエストにはセキュリティヘッダーが含まれていません。

CONNECT my.server.org:443 HTTP/1.1 
User-Agent: Java/1.8.0_111 
Host: my.server.org 
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 
Proxy-Connection: keep-alive 

お勧めはありますか?

答えて

0

解決策は次のスレッドに見つかりました:Java Web Start: Unable to tunnel through proxy since Java 8 Update 111

は、Java 8の更新111ので基本認証方式は、HTTPSをプロキシする場合プロパティネットワーキング jdk.http.auth.tunneling.disabledSchemesに「基本」を追加することにより、OracleのJavaランタイムでは、デフォルトでは、無効にされています。詳細は 8u111 Update Release Notesを参照してください。

プロキシを再度有効にするには、jdk.http.auth.tunneling.disabledSchemes = ""と設定する必要があります。アプリケーション

System.setProperty("jdk.http.auth.tunneling.disabledSchemes", ""); 
のmainメソッドにプロパティを設定することにより、アプリケーション

-Djdk.http.auth.tunneling.disabledSchemes="" 

または実行時の起動時に、このキャンは、VM引数を介して行うこと

関連する問題