2010-02-11 2 views
0

Java를 사용하여 SharePoint 서버에 액세스하려고합니다 (WSDL에서 클래스를 만드는 메커니즘으로 Axis2). 사이트가 HTTP를 통해 호스팅되지만 HTTPS를 통해 호스팅되는 경우 일부 작업을 로그인하고 수행 할 수 있습니다. 누구든지이 일을하는 경험이 있거나이 도움을 받기에 좋은 자료를 알고 있습니까?Axis2를 사용하여 HTTPS를 사용하여 Java를 통해 SharePoint에 로그인

감사합니다.

+0

오류 스택 추적을 공유하십시오. 문제의 근원을 이해하는 데 도움이됩니다. –

답변

0

안전한 연결은 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 용으로 추가하십시오.

관련 문제