我怎么告诉的wsimport使用代理例外网址(How do I tell wsimport to u

2019-07-29 03:18发布

我需要连接到内部网的Web服务。 我公司使用代理服务器来访问Internet,但内部网站不通过代理去。 我可以导航到在IE和Firefox的WSDL,但我一定要将该地址添加到在两个浏览器的代理例外列表。

当我使用的wsimport我不能因为代理服务器的WSDL。 在加入或离开了-httpproxy ARG给我一个错误“通过代理无法隧道”,所以我猜测这是不是我需要做到这一点。

有谁知道一种方法,我可以告诉的wsimport忽略此URL的代理服务器?

尼尔

Answer 1:

我来到这个帖子上寻找一种方式来使用内部(内部网)网址,代理和使用wsimport.exe(JDK 1.6,1.7的一部分,等等)跳过外部URL代理(w3c.com)。 我看到它没有工厂把nonProxyHosts,所以我继续使用Java类调用。

像这样的事情

java -Dhttp.proxyHost=proxyServer -Dhttp.proxyPort=9000 -Dhttp.nonProxyHosts="localhost|*.intranet-domain.com" -classpath %JAVA_HOME%\lib\tools.jar com.sun.tools.internal.ws.WsImport -p com.ws.client.pkg http://app.intranet-domain.com/endpoint?wsdl 

为了方便可读性:

java
  -Dhttp.proxyHost=proxyServer
  -Dhttp.proxyPort=9000
  -Dhttp.nonProxyHosts="localhost|*.intranet-domain.com"
  -classpath %JAVA_HOME%\lib\tools.jar
  com.sun.tools.internal.ws.WsImport
  -p com.ws.client.pkg
  http://app.intranet-domain.com/endpoint?wsdl 

请记住,“-Dhttp.nonProxyHosts”只有当你之前在该行配置代理工作,你需要的所有参数。 所以,如果你只是想禁用默认的代理,你要在这里重新配置。



Answer 2:

我找到了答案。 您需要添加以下内容作为JVM参数,它使用的Internet Explorer(或Mac上的Safari我假设)代理服务器地址和排除列表。

-Djava.net.useSystemProxies=true

我得到了雁从http://jeannotsweblog.blogspot.co.uk/2009/06/wsimport-with-proxy.html



Answer 3:

目前wsimport在这方面打破。

我创建了两张票为:

  1. https://java.net/jira/browse/JAX_WS-1154
  2. https://java.net/jira/browse/JAX_WS_COMMONS-132


Answer 4:

方法由尼尔·肯尼迪建议将工作,如果你可以,如果你想使用特定的URL代理,那么必须看的ProxySelector类在应用level.However设置标志。 你可以写与您的代理主机和端口延伸的ProxySelector自己的代理选择类,然后将其设置为默认代理selector.Have看看这个线程如何使用的JAX-WS请求的HTTP代理不设置系统-范围内的属性? 通过Iroh叔叔给出答案。 也有看http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html为的ProxySelector的细节清楚地解释发生了什么。



Answer 5:

您可以使用--httpproxy的wsimport选项选项too-

wsimport -keep -httpproxy:USERNAME:passwdsabc001@proxy.yourcmpny.com



Answer 6:

wsimport -keep -verbose -httpproxy:172.18.14.192:8089 http://xxx.abc.com/services/s1?wsdl

按照甲骨文JAVA 9的wsimport文档



文章来源: How do I tell wsimport to use a proxy exception url