サードパーティの Web サービスを呼び出す 1 つの Web サービスがあります。この実装をテストするために、さまざまな環境があります。
ローカル開発者マシン:アプリケーションを実行すると、すべてが正常に機能し、Web サービスがサードパーティの URL にアクセスできるようになります。(ローカル マシンは Windows OS を使用)
ローカル開発サーバー:アプリケーションを開発サーバーにデプロイした後、サード パーティの URL にアクセスできず、HTTP プロキシ 407 エラーが発生します。(IBM J9 JVM を使用した Linux を使用しています。)
この問題を回避するために、 を設定しようとし-Dhttps.proxyUser XXX -Dhttps.proxyPassword XXX
ましたが、引き続きエラーが発生しました。私たちが試した 2 番目のオプションは、を使用することAuthenticator.setDefault(new CustomImplAuthenticator())
です。しかし驚くべきことに、JVM は起動getPasswordAuthentication
せず、エラーをスローし続けました。
authenticator.setdefault
コードを使用して、ローカルの開発者マシンで同じアプリケーションを再度実行しました。前述のように URL にアクセスできましたが、今回も JVM はgetPasswordAuthentication
メソッドを呼び出しませんでした。ネットで検索したところ、NTLM を介して認証データが解決されていることがわかりました。そのため、コードが Windows で機能していると感じています。
誰でもどの設定を教えてもらえますか。少なくとも割り当てられた実装Authenticator.setDefault
が呼び出されるように、Linux ボックスにデプロイされたアプリケーションを構成する必要があります。