我有一个使用两个网络服务的网络应用
•第一个Web服务通过HHTPS连接到外部websserver
(https://abc.com/int/obj)
•第二个Web服务通过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服务时,我可以绕过它吗
答案 0 :(得分: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);
答案 1 :(得分:0)
配置http.nonProxyHosts
- 要直接连接的主机或域列表,由" pipe"分隔。人物|将10.14.250.69
添加到列表中。