[英]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)
因此可以设置host
和proxy
以及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.