How do I tell wsimport to use a proxy exception url
Solution 1
I found the answer. You need to add the following as a JVM parameter and it uses the Internet Explorer (or Safari on Mac I assume) proxy address and exclusion list.
-Djava.net.useSystemProxies=true
I got the anser from http://jeannotsweblog.blogspot.co.uk/2009/06/wsimport-with-proxy.html
Solution 2
I arrived on this post looking for a way to use proxy for internal (intranet) URLs and skip proxy for external URLs (w3c.com) using the wsimport.exe (part of JDK 1.6, 1.7,etc). I see that it does not have the facility to put nonProxyHosts, so I went ahead and used Java class invocations.
Something like this
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
For easier readability:
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
Keep in mind that "-Dhttp.nonProxyHosts" only works if you configure a proxy in that line before, you need ALL the parameters. So, if you just want to disable a default proxy you have to configure it here again.
Solution 3
Currently wsimport
is broken in this regard.
I created two tickets for that:
Solution 4
wsimport -keep -verbose -httpproxy:172.18.14.192:8089 http://xxx.abc.com/services/s1?wsdl
As per Oracle JAVA 9 wsimport documentation
Solution 5
You can use --httpproxy
option of wsimport option too-
wsimport -keep -httpproxy:USERNAME:[email protected]
Neil Kennedy
Irish born developer based in London. I work as a full stack C# and JavaScript web developer at totaljobs.com. Twitter: @kennedyneil
Updated on June 25, 2022Comments
-
Neil Kennedy almost 2 years
I need to connect to an internal intranet web service. My company uses a proxy server to access the internet but intranet sites do not go through the proxy. I can navigate to the WSDL in IE and Firefox but I have to add the address to the proxy exception list in both browsers.
When I use wsimport I cannot get the WSDL because of the proxy server. Adding in or leaving out the -httpproxy arg gives me an error "Unable to tunnel through proxy" so I'm guessing this is not the way I need to do it.
Does anyone know a way I can tell wsimport to ignore the proxy server for this url?
Neil
-
Angelo Fuchs over 8 yearsI added the last paragraph, if you feel that changes your post too much feel free to revert it.
-
jpaugh about 8 yearsThanks! I needed this to configure an
https.proxyHost