如何为 wsdl2java ant 设置代理身份验证



我正在尝试这个:

<target name="generate" depends="clean,init">
  <mkdir dir="${source.dir}/generated"/>
  <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
    <sysproperty key="http.proxyHost" value="proxy.example.com"/>
    <sysproperty key="http.proxyPort" value="8080"/>
    <sysproperty key="http.proxyUser" value="secretUser"/>
    <sysproperty key="http.proxyPassword" value="complexPass"/>
    <arg value="-d"/>
    <arg value="${source.dir}/generate"/>
    <arg value="-client"/>
    <arg value="http://example.com/WS?wsdl"/>
    <classpath refid="project.classpath"/>
  </java>
</target>

当我执行目标时,我收到 407 错误,需要身份验证

Problem parsing 'http://example.com/WS?wsdl'.: java.io.IOException: Server returned HTTP response code: 407 for URL: http://example.com/WS?wsdl 

如果我设置 https 代理,我会收到同样的错误,当我不设置代理时,我得到:

Problem parsing 'http://example.com/WS?wsdl'.: java.net.ConnectException: Connection refused 

我还尝试使用不正确的密码来验证是否按预期返回了 401 错误,但返回了 407。

http://example.com/WS?wsdl 没有服务。这只是一个示例网址。您需要输入一个真实的 Web 服务 URI,指向该服务的有效 WSDL。例如

http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx?WSDL