4

サードパーティの 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 ボックスにデプロイされたアプリケーションを構成する必要があります。

4

1 に答える 1

1

http 接続をどのように構築するかによって異なります。たとえば、Apache HTTPClient を使用する場合は、setProxyAuthenticationHandler を呼び出して、プロキシ構成を DefaultHttpClient に設定できます。

http 呼び出しを行う実装では、プロキシについて知る必要があります。

于 2011-09-09T13:35:28.347 に答える