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: Destination unreachable; 嵌套异常是:java.net.ProtocolException:无法识别来自代理的响应:'HTTP/1.0 403 Forbidden';在 weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170) 在 weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153) 的 weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:216) 没有可用的路由器到目的地在 weblogic.jndi.WLInitialContextFactoryDe​​legate$1.run(WLInitialContextFactoryDe​​legate.java:345) 在 weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) 在 weblogic.security.service.SecurityManager.runAs(SecurityManager.java: 146) 在 weblogic.jndi.WLInitialContextFactoryDe​​legate.getInitialContext(WLInitialContextFactoryDe​​legate.java:340)

似乎设置 http.nonProxyHosts 没有按预期工作。我试图通过 Internet 找到解决方案,但大多数都说删除代理设置。我无法删除代理,因为我的代码尝试连接到某些 Internet URL。另请注意,weblogic 服务器位于远程计算机上。您能否给我一个提示,这里一定是什么问题?

4

2 回答 2

2

看看这个 OTN 线程

从第三条评论:

  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 server URL 不使用代理。

@Arcadien:感谢您为帮助我所做的努力。谢谢。

于 2012-07-06T12:50:58.043 回答