如何告诉wsimport使用代理例外URL

Nei*_*edy 4 java wsdl web-services jax-ws wsimport

我需要连接到内部Intranet Web服务.我公司使用代理服务器访问互联网,但内部网站点不通过代理.我可以在IE和Firefox中导航到WSDL,但我必须在两个浏览器中将地址添加到代理例外列表中.

当我使用wsimport时,由于代理服务器,我无法获得WSDL.添加或删除-httpproxy arg给我一个错误"无法通过代理隧道"所以我猜这不是我需要这样做的方式.

有没有人知道我可以告诉wsimport忽略这个网址的代理服务器?

尼尔

Yog*_*ogi 7

我在这篇文章中找到了一种方法,使用代理内部(内部网)URL和使用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 
Run Code Online (Sandbox Code Playgroud)

为了便于阅读:

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 
Run Code Online (Sandbox Code Playgroud)

请记住,"-Dhttp.nonProxyHosts"仅在您之前在该行中配置代理时才有效,您需要所有参数.因此,如果您只想禁用默认代理,则必须再次在此处进行配置.