1

Javaソースコードでプロキシを次のように構成しました。

systemSettings.put("http.proxyHost", "www.proxyserver.com");
systemSettings.put("http.proxyPort", "8080");
systemSettings.put("http.nonProxyHosts", "10.x.y.z");

ここで、10.xyzは私のweblogicサーバーの実際のIPです。しかし、コードがweblogicサーバーに接続しようとすると、次のようなエラーが発生します。

原因:java.net.ConnectException:t3://10.xyz:7001:宛先に到達できません。ネストされた例外は次のとおりです。java.net.ProtocolException:プロキシからの認識されない応答:'HTTP / 1.0 403 Forbidden'; weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)のweblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:216)に宛先への使用可能なルーターがありませんweblogic.jndi.WLInitialContextFactoryDe​​legate $ 1.run(WLInitialContextFactoryDe​​legate.java:345)at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)at weblogic.security.service.SecurityManager.runAs(SecurityManager.java: 146)weblogic.jndi.WLInitialContextFactoryDe​​legate.getInitialContext(WLInitialContextFactoryDe​​legate.java:340)

http.nonProxyHostsの設定が期待どおりに機能していないようです。インターネットで解決策を見つけようとしましたが、ほとんどの場合、プロキシ設定を削除すると言われています。コードが一部のインターネットURLに接続しようとしているため、プロキシを削除できません。また、weblogicサーバーはリモートマシン上にあることに注意してください。ヒントを教えていただけますか、ここでの問題は何でしょうか?

4

2 に答える 2

2

このOTNスレッドをご覧ください。

3番目のコメントから:

  1. System.setProperties()を介して、システムプロパティとして存在しないnonProxyHostsを設定しています。

これまですべてを読んだわけではありませんが、system.propertiesはnonProxyHostsを設定する便利な方法ではないようです。

コマンドラインから設定しようとしましたか?

-Dhttp.nonProxyHosts="*.foo.com|localhost".
于 2012-07-06T09:14:25.703 に答える
0

問題を解決しました。weblogicとの接続がセットアップされたときに、最初にプロキシをセットアップしました。したがって、ネットワークの制限により、機能しなかったと思います。変更されたコードでは、同じ3行を使用してプロキシを設定しました。

System.setProperty("java.net.useSystemProxies", "false");
System.setProperty("http.proxyHost", "www.proxyserver.com");
System.setProperty("http.proxyPort", "8080");

唯一の違いは、必要な場所でそれを行ったことです。したがって、weblogicプロキシを使用した初期接続セットアップは使用されません。また、プロキシを使用しないようにするために、weblogicサーバーのURLをバイパスする必要はありませんでした。

@アルカディアン:私を助けてくれたあなたの努力に感謝します。ありがとう。

于 2012-07-06T12:50:58.043 に答える