如何为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错误,需要auth

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上没有服务.这只是一个示例网址.您需要输入指向该服务的有效WSDL的真实Web服务URI.例如.

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

点赞