How do I tell wsimport to use a proxy exception url

10,473

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:

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

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]

Share:
10,473
Neil Kennedy
Author by

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, 2022

Comments

  • Neil Kennedy
    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
    Angelo Fuchs over 8 years
    I added the last paragraph, if you feel that changes your post too much feel free to revert it.
  • jpaugh
    jpaugh about 8 years
    Thanks! I needed this to configure an https.proxyHost