如何在使用maven-jaxb2-plugin时禁用主机名验证或允许所有证书?

时间:2015-07-09 10:17:27

标签: jaxb xjc maven-jaxb2-plugin

目前,我正在使用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>

1 个答案:

答案 0 :(得分:0)

我一般不推荐依赖于任何类型的在线资源的构建。考虑制作要编译的WSDL的本地副本,并use a catalog file将在线资源的URI重写为本地资源。

免责声明:我是的作者。