目前,我正在使用maven-jaxb2-plugin来生成Java文件,同时通过SSL使用soap web服务。我根据答案here配置了我的pom.xml。但我使用的证书不包含服务器的任何DNS / IP主题。如果我的wsdl url与pom.xml中的'https://XXX.XXX.XXX.XXX:9443/services/testWS?wsdl'类似,那么将会有一些javax ssl异常,因为没有IP地址的替代名称。有没有办法配置jaxb来禁用主机名验证?感谢。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<goals>
<goal>set-system-properties</goal>
</goals>
<configuration>
<properties>
<property>
<name>javax.net.ssl.keyStore</name>
<value>${basedir}/src/test/key.jks</value>
</property>
<property>
<name>javax.net.ssl.keyStorePassword</name>
<value>changeit</value>
</property>
</properties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>testproxy.wsdl</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generatePackage>my.wsdl.testproxy</generatePackage>
<schemas>
<schema>
<url>http://XXX.XXX.XXX.XXX:9443/services/testWS?wsdl</url>
</schema>
</schemas>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 0 :(得分:0)
我一般不推荐依赖于任何类型的在线资源的构建。考虑制作要编译的WSDL的本地副本,并use a catalog file将在线资源的URI重写为本地资源。
免责声明:我是maven-jaxb2-plugin的作者。