通过代理连接到远程weblogic服务器时出现问题

时间:2012-07-06 08:12:21

标签: java url proxy weblogic

我在我的java源代码中配置了一个代理:

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

这里10.x.y.z是我的weblogic服务器的实际IP。 但是每当代码尝试连接到weblogic服务器时,我都收到错误:

  

引起:java.net.ConnectException:t3://10.x.y.z:7001:Destination   无法访问;嵌套异常是:java.net.ProtocolException:   来自代理的无法识别的响应:'HTTP / 1.0 403 Forbidden';没有   可用路由器到目的地   weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:216)at at   weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)at at   weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)at at   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 URL。另请注意,weblogic服务器位于远程计算机上。 能否请你给我一个提示,这里一定有什么问题?

2 个答案:

答案 0 :(得分:2)

查看this OTN thread

来自第3条评论:

  
      
  1. 您正在通过System.setProperties()设置nonProxyHosts,它不作为系统属性存在。
  2.   

到目前为止我还没有读过所有内容,但似乎system.properties不是设置的便捷方式 nonProxyHosts。

您是否尝试过从命令行设置它?

-Dhttp.nonProxyHosts="*.foo.com|localhost".

答案 1 :(得分:0)

我解决了这个问题。我在设置与weblogic的连接时最初设置了代理。因此,由于一些网络限制,我认为它没有用。在修改后的代码中,我使用相同的3行来设置代理:

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

唯一的区别是,我在我需要的确切位置做过。因此,对于使用weblogic代理的初始连接设置,不要使用。我也没有绕过,weblogic服务器URL不使用代理。

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