Weblogic ClusterにデプロイされたJavaアプリケーションは、次の2つのWebサービスを呼び出します。
•HTTPSを介して(インターネット上にある外部アプリケーションに)SOAPクライアント要求を送信します。(Axis1.4を介して作成されたJavaクラス)
•その後、HTTPを介して内部アプリケーション(LANに接続されている他のノードに存在)にSOAPクライアント要求を送信します。(JAX-WS:Jdeveloperウィザードで作成されたJavaクラス)
最初のWSに到達するには、次のコードを使用してWebサービスクライアントのhttpsプロキシ設定を設定する必要があります。
System.setProperty("https.proxyHost", myProxyIP);
System.setProperty("https.proxyPort", myProxyPort);
一方、2番目のWebサービスは、ネットワーク上ですでに到達可能であるため、このプロキシ設定は必要ありません。
私の問題は次のとおりです。
最初のサービス(プロキシ設定のあるサービス)を呼び出してから他のサービスを呼び出すと、直前にシステムプロパティからプロキシ設定を削除した場合でも、Axisクライアントは同じプロキシ設定でこれらのサービスを呼び出そうとします。書き込みによって2nsWSを呼び出しようとしています
System.setProperty("http.proxySet", "false");
System.getProperties().remove("http.proxyHost");
System.getProperties().remove("http.proxyPort");
AxisProperties.setProperty("http.proxyHost", null);
AxisProperties.setProperty("http.proxyPort", null);
私はどこかでnonProxyHostsを使用するために読んでいますが、書くべきかどうか混乱しています
System.setProperty("https.nonProxyHosts","secws.secondwsint.com");
また
System.setProperty("http.nonProxyHosts","secws.secondwsint.com");
http ot https、バイパスする必要があるのはHTTPであり、プロキシを設定しているのはHTTPSであるためです。
私もブログの1つを読みました:
AxisProperties.setProperty("https.proxyHost", "bla1.bla1");
AxisProperties.setProperty("https.proxyPort", "8080");
AxisProperties.setProperty("https.nonProxyHosts", "secws.secondwsint.com");
しかし、https.nonProxyHostsまたはhttp.nonProxyHostsを使用するように再び混乱しました
Javaプログラムで使用することをお勧めするのはどれですか、System.setProperty
またはAxisProperties.setProperty
重要なことに、そのコードラインを作成するためにhttp ot httpsを使用する必要があります。また、他の方法はありますか?