2011-09-20 29 views
1

我正在使用Java SE6 Mustang,並且正在嘗試連接到使用SSL的Web服務。我創建Web服務客戶端與wsimport的,我可以忽略例外:沒有使用替代名稱添加異常

javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:沒有主題備用名稱目前

+0

您確定服務器證書中的cn與服務器的地址相匹配嗎? – anfy2002us

回答

0

不,你不能忽略這個異常。

如果在創建客戶端時出現此錯誤,則可以下載WSDL並使用它執行生成。像這樣的東西。但我不檢查它。

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

但是,如果您在訪問Web服務時遇到此錯誤,則可以禁用主機名稱詭計。 以下是禁用主機名檢查的示例。

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; 
     } 
    }); 
}