我使用jaxws-maven-plugin从wsdl生成java。wsdl位于本地网络中,但引用了互联网中的一些xsd。
maven插件在生成代码时遇到了麻烦,因为它缺少高级的http代理设置。
是否有解决此问题的方法?我的配置是:
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<!--<httpproxy>127.0.0.1:5865</httpproxy>-->
<packageName>my.pkg</packageName>
<verbose>true</verbose>
<wsdlUrls>
<wsdlUrl>
http://10.31.7.64:13080/service.wsdl
</wsdlUrl>
</wsdlUrls>
</configuration>
</plugin>没有代理,我得到了
parsing WSDL...
[ERROR] IOException thrown when processing "http://www.w3.org/2005/05/xmlmime". Exception: java.net.ConnectException: Connection refused: connect.有了代理,我得到了
parsing WSDL...
[ERROR] Server returned HTTP response code: 504 for URL: http://10.31.7.64:13080/service.wsdl可能是代理的问题,但是我没有在公司网络后面有另一个代理。
发布于 2013-04-18 10:22:59
AFAIU,当我们启用httpproxy时,所有请求都将发送到该代理,包括使用<wsdlUrl>。
服务器返回
HTTP response code: 504 for URL: http://10.31.7.64:13080/service.wsdl Status Code Definitions告诉我们如下:
504网关超时
服务器在充当网关或代理时,没有从URI指定的上游服务器(例如HTTP、FTP、LDAP)或在尝试完成请求时需要访问的某些其他辅助服务器(例如DNS)接收到及时响应。
根本原因可能是代理不知道我们的地址,在本例中是10.31.7.64
请尝试下载wsdl并将其放到本地机器上。然后按照以下示例使用wsdlFiles进行配置:-
<configuration>
<wsdlFiles>
<wsdlFile>${basedir}/path/to/wsdl</wsdlFile>
</wsdlFiles>
</configuration>我希望这能有所帮助。
发布于 2019-02-24 22:43:54
更好的方法是使用JVM的noProxy变量。当WSDL不可用时,您的构建将失败(在我的示例中,对于集成测试非常有用),您可以将以下内容添加到jaxws-maven-plugin配置中:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>wsdltoJava</id>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlUrls>
<wsdlUrl>https://someService.yourcompany.net/Service/Service?wsdl</wsdlUrl>
</wsdlUrls>
<vmArgs>
<vmArg>-Dhttp.nonProxyHosts=*.yourcompany.net, 10.31.7.64</vmArg>
</vmArgs>
<keep>true</keep>
<packageName>com.yourcompany.package</packageName>
<sourceDestDir>your/target/directory</sourceDestDir>
</configuration>
</execution>
</executions>
https://stackoverflow.com/questions/16060218
复制相似问题