0
我試圖訪問使用Java(和Axis2作爲從WSDL創建類的機制)的SharePoint服務器。我可以登錄並執行一些操作,如果該網站是通過HTTP託管的,但通過HTTPS則失敗。有沒有人有這樣的經驗或知道獲得這方面的幫助的好資源?使用Axis2通過Java使用HTTPS登錄到SharePoint
謝謝。
我試圖訪問使用Java(和Axis2作爲從WSDL創建類的機制)的SharePoint服務器。我可以登錄並執行一些操作,如果該網站是通過HTTP託管的,但通過HTTPS則失敗。有沒有人有這樣的經驗或知道獲得這方面的幫助的好資源?使用Axis2通過Java使用HTTPS登錄到SharePoint
謝謝。
安全的方法是您的安全網站連接失敗,因爲您的連接不接受提供的SSL證書。爲了驗證這一點,在連接之前運行下面的代碼:
public static void trustAllSSL() {
TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
public X509Certificate[] getAcceptedIssuers() { return null; }
}
};
HostnameVerifier hostVerify = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(hostVerify);
} catch (Exception e) {
e.printStackTrace();
}
}
如果你能使用Axis2運行上面的代碼後,然後連接,那麼這就是原因。然後,您可以繼續使用上面的代碼,或者從站點獲取實際的證書(使用IE或Firefox訪問站點,然後從緩存中獲取證書),並將其添加到Java密鑰庫。
請分享錯誤堆棧跟蹤。這將有助於瞭解問題的根源。 – 2010-02-12 00:41:25