gpt4 book ai didi

java - Axis HTTP 与 Axis HTTPS 代理设置

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:49:55 28 4
gpt4 key购买 nike

我部署在 Weblogic 集群上的 Java 应用程序调用了如下两个 Web 服务。

• 它通过 HTTPS 向互联网上的外部应用程序发送 SOAP 客户端请求。(通过 Axis 1.4 创建的 Java 类)

• 此后它通过 HTTP 将 SOAP 客户端请求发送到内部应用程序(存在于连接到我的 LAN 的另一个节点上)。(通过 JAX-WS 创建的 Java 类:Jdeveloper 向导)

为了到达第一个 WS,我必须使用以下代码为 Web 服务客户端设置 https 代理设置:

System.setProperty("https.proxyHost", myProxyIP);  
System.setProperty("https.proxyPort", myProxyPort);

而第二个 Web 服务不需要此代理设置,因为它们已经可以在网络上访问。

我的问题如下:

如果我调用第一个服务(具有代理设置的那个),然后调用另一个,Axis 客户端会尝试使用相同的代理设置调用这些服务,即使我只是从系统属性中删除了代理设置在我即将通过编写

来启动 2ns WS 之前
 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。

我也看过其中一篇博客:

AxisProperties.setProperty("https.proxyHost", "bla1.bla1"); 
AxisProperties.setProperty("https.proxyPort", "8080");
AxisProperties.setProperty("https.nonProxyHosts", "secws.secondwsint.com");

但再次混淆使用 https.nonProxyHosts 或 http.nonProxyHosts

建议在我的 Java 程序 System.setPropertyAxisProperties.setProperty 中使用哪个,重要的是我应该使用 http 还是 https 来编写该代码行另外,还有其他选择吗?

最佳答案

您可以同时使用两者。但是 System.setProperty() 也会影响 VM 中其他与 HTTP 相关的 java 函数,而 AxisProperties 只会影响 Axis WS 客户端。所以我会选择 AxisProperties.setProperty()。

Axis 中存在错误 problem with http proxy parameters caching mechanism .基本上,该实现会缓存旧的代理设置并且不会读取新设置。因此,即使您使用 AxisProperties.setProperty() 方法,它仍然不起作用。我不确定它是否适用于 Axis 1.4,因为 JIRA 不提供受影响的版本号。

我还认为您应该设置 http.nonProxyHosts,因为您的内部 WS 使用 HTTP,而不是 HTTPS。但是在另一篇文章中,您提到您同时设置了两者,但它不起作用。现在还是这样吗?

关于java - Axis HTTP 与 Axis HTTPS 代理设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098044/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com