2012-08-16 2 views
1

C#에서 DOTCMIS를 사용하여 sharepoint 2010에 연결하려고합니다. 이 질문에 매우 유사한 방식으로 : DOTCMIS를 통해 Sharepoint 2010에 연결 : 예외 인증 공급자

Connecting via CMIS (dotCMIS) to SP2010: exception unauthorised

는 (단, 내 코드는 MSCRM 2011 사용자 지정 워크 플로 작업에서 실행)

내 코드는 다음과 같습니다

 var parameters = new Dictionary<string, string>(); 

     parameters[SessionParameter.BindingType] = BindingType.AtomPub; 
     parameters[SessionParameter.AtomPubUrl] = "http://mySPServer/sites/scans/_vti_bin/cmis/rest/MyRepositoryIDGUID?getRepositoryInfo"; 
     parameters[SessionParameter.User] = "MyUser"; 
     parameters[SessionParameter.Password] = "MyPassword"; 
     parameters[SessionParameter.AuthenticationProviderClass] = "DotCMIS.Binding.NtlmAuthenticationProvider"; 

     var sessionFactory = SessionFactory.NewInstance(); 
     return sessionFactory.GetRepositories(parameters)[0].CreateSession(); 

그러나 나는 그것을 실행할 때마다 현재 다음과 같은 예외가 발생합니다 :

Sif 일반 오류 : DotCMIS.Exceptions.CmisRuntimeException : authentictaion 공급자를로드 할 수 없습니다. 값은 null 일 수 없습니다. 매개 변수 이름 : type ---> System.ArgumentNullException : 값은 null 일 수 없습니다. 매개 변수 이름 : DotCMIS.Client.Impl.CmisBindingHelper에서 System.Activator.CreateInstance (타입 타입, 부울 비공개) DotCMIS.Binding.Impl.CmisBinding..ctor에서 (IDictionary 2 sessionParameters, AbstractAuthenticationProvider authenticationProvider) --- End of inner exception stack trace --- at DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionary 2 sessionParameters, AbstractAuthenticationProvider AuthenticationProvider에) 에서 입력 . (CodeActivityContext을 (IDictionary 2 parameters, AbstractAuthenticationProvider authenticationProvider) at DotCMIS.Client.Impl.SessionFactory.GetRepositories(IDictionary 2 매개 변수, IObjectFactory ObjectFactory를, AbstractAuthenticationProvider AuthenticationProvider에, ICACHE 캐시) TPR.SIF.WorkflowActivity.SifService.SetUpServices에서 TPR.SIF.WorkflowActivity.SessionService.CreateNewSession (문자열 dmWebServiceUrl, 문자열 이름, 문자열 암호) 에서 을 CreateAtomPubBinding codeActivityContext) at TPR.SIF.WorkflowActivity.SifService.Execute (CodeActivityContext codeActivityContext)

오류가 다음 줄에서 발생 다음 CMIS 라이브러리에이 줄을 호출

sessionFactory.GetRepositories(parameters)[0].CreateSession(); 

 if (sessionParameters.TryGetValue(SessionParameter.AuthenticationProviderClass, out authenticationProviderClass)) 
      { 
       try 
       { 
        Type authProvType = Type.GetType(authenticationProviderClass); 
        authenticationProvider = (AbstractAuthenticationProvider)Activator.CreateInstance(authProvType); 

사람은 "DotCMIS.Binding.NtlmAuthenticationProvider"를 생성 할 수없는 이유를 알고 있나요 ?

대단히 감사합니다.

숀.

+0

나는 또한 관련 오류가있어, 나는 이것도 도움이 필요해. :) http://stackoverflow.com/questions/29382247/getrepositoriesparameters-throws-cmisruntimeexception –

답변

0

NTLM 지원은 DotCMIS 0.5와 함께 출시됩니다. DotCMIS 0.4를 사용하는 경우 작동하지 않습니다.

+0

고마워! 예 저는이 주석을 보았습니다 (0.5 이후) = DotCMIS.Binding.NtlmAuthenticationProvider). 0.5에 대한 다운로드 링크가 있습니까? – Sean

+0

http://chemistry.apache.org/dotnet/dotcmis.html에서 볼 수 없습니까? 덕분에 – Sean

+0

DotCMIS 0.5는 아직 출시되지 않았습니다. 소스 코드를 가져 와서 직접 빌드해야합니다. 덕분에 –

관련 문제