0

我有一个使用两个网络服务的网络应用程序

• 第一个 Web 服务通过 HHTPS 连接到外部 websserver

(https://abc.com/int/obj)

• 第二个网络服务通过 HHTP 连接到内部网络服务器

`(http://10.14.250.69:7250/uiu/ohg)

如果我使用

System.setProperty("https.proxyHost", "xxx.xxx.xx.xxx"); //proxy server
 System.setProperty("https.proxyPort", "3128");           //proxy port

然后我的应用程序能够与外部网站成功连接并获取数据,但是当它调用第二个 Web 服务时,请求被路由到不应发生的代理服务器

当它连接到这个内部 Web 服务时,我想要的只是它应该直接调用它,而不是通过代理。我怎样才能做到这一点。当代理服务器调用内部 Web 服务时,我可以绕过代理服务器

4

2 回答 2

1

很高兴知道您正在使用 Axis WS 客户端。因此,您可以在单个 WS 客户端存根级别设置代理设置,而不是使用适用于这两个 Web 服务的系统属性吗?这是示例代码

MyServiceStub myService = new MyServiceStub("https://www.foo.com/abc/xyz.asmx");

HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();
proxyProperties.setDomain("mydomain");
proxyProperties.setProxyName("xx.xxx.xx.xxx");
proxyProperties.setProxyPort(80);
proxyProperties.setUserName("myusername");
proxyProperties.setPassWord("mypassword");
myService._getServiceClient().getOptions().setProperty(HTTPConstants.PROXY, proxyProperties);
于 2013-02-26T18:51:37.607 回答
0

配置http.nonProxyHosts- 直接连接的主机或域列表,由“管道”字符分隔 | 通过添加10.14.250.69到列表中。

于 2013-02-26T14:10:33.933 回答