首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Axis HTTP与Axis HTTPS代理设置

Axis HTTP与Axis HTTPS代理设置
EN

Stack Overflow用户
提问于 2013-02-27 03:53:38
回答 1查看 14.2K关注 0票数 3

部署在Weblogic集群上的Java应用程序调用两个are服务,如下所示。

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

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

为了访问第一个WS,我必须使用以下代码设置web服务客户端的https代理设置:

代码语言:javascript
复制
System.setProperty("https.proxyHost", myProxyIP);  
System.setProperty("https.proxyPort", myProxyPort);  

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

我的问题如下:

如果我调用第一个服务(具有代理设置的服务),然后调用另一个服务,则Axis客户端将尝试使用相同的代理设置调用这些服务,即使我在即将通过以下命令调用2ns WS之前从系统属性中删除了代理设置也是如此

代码语言:javascript
复制
 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.But的地方,我很困惑,如果我应该写

代码语言:javascript
复制
System.setProperty("https.nonProxyHosts","secws.secondwsint.com");

代码语言:javascript
复制
System.setProperty("http.nonProxyHosts","secws.secondwsint.com");

http或https,因为需要绕过的是HTTP,而我们设置的代理是HTTPS。

我也在一篇博客中读到:

代码语言:javascript
复制
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来编写该代码行,还有其他选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-27 05:20:32

您可以同时使用这两种方法。但是System.setProperty()还会影响VM中其他与HTTP相关的java函数,而AxisProperties只会影响Axis WS客户端。因此,我将选择AxisProperties.setProperty()。

基本上,实现会缓存旧的代理设置,而不读取新的设置。所以即使你使用AxisProperties.setProperty()方法,它仍然不起作用。我不确定它是否适用于Axis1.4,因为JIRA不提供受影响的版本号。

现在还是这样吗?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15098044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档