没有主题替代名称存在添加例外

时间:2011-09-20 18:57:50

标签: java web-services ssl

我正在使用Java SE6 Mustang,我正在尝试连接到使用SSL的Web服务。我用wsimport创建了Web服务客户端,我可以忽略异常:

javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:不存在主题替代名称

1 个答案:

答案 0 :(得分:0)

不,你不能忽视这个例外。

如果在创建客户端时出现此错误,则可以下载WSDL并使用它来执行生成。像这样的东西。但我不检查它。

wsimport -p com.test -wsdllocation https://192.168.1.200:8443/services/ws/service?wsdl service.wsdl

但是如果您在访问Web服务时遇到此错误,则可以禁用主机名chekcing。 以下是禁用主机名检查的示例。

    static{
    javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
    new javax.net.ssl.HostnameVerifier(){

        public boolean verify(String hostname,
                javax.net.ssl.SSLSession sslSession) {
            System.out.println("Verifying hostname: " + hostname);
            return true;
        }
    });
}