繁体   English   中英

设置代理以调用Web服务的方法

[英]Setup Proxy to invoke web service's methods

我已经从现有的WSDL中用Java实现了WS客户端。
我可以连接,调用WS方法,并且一切正常。
但....
我应该使用代理进行通信!!!

已经尝试了许多方法来执行此操作,但是没有任何效果:

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("host",Integer.parseInt("8008")));
URL url = new URL(theUrl);  

HttpURLConnection uc = (HttpURLConnection)url.openConnection(proxy); uc.connect();

或者我尝试过

System.setPropertry(String, String)

因此可以设置hostproxy以及proxySet = true。

但是据同事说,这不是我应该做的,因为它设置了全局属性,并且无法与System内的许多单独运行一起使用。

有什么想法我应该怎么做吗?
任何帮助表示赞赏,
谢谢

最终,我使用了一个类来扩展java.net.ProxySelector让我们称之为MyProxySelector.java
然后在已实现的select()方法中,检查URI,如果它是通过代理连接的URI(即Web服务的URI),则创建一个代理:

SocketAddress addr = new InetSocketAddress(theHost, thePort);
proxy = new Proxy(Proxy.Type.HTTP, addr);

将其添加到我的代理列表中:

List<Proxy> proxyList = new ArrayList<Proxy>();
proxyList.add(proxy);

并返回代理列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM