Подключение к Sharepoint 2010 через DOTCMIS: поставщик аутентификации исключений

Я пытаюсь подключиться к sharepoint 2010 с помощью DOTCMIS на C #. Очень похоже на этот вопрос:

Подключение через CMIS (dotCMIS) к SP2010: несанкционированное исключение

(Однако мой код работает в пользовательском действии рабочего процесса 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: не удалось загрузить поставщик аутентификации: значение не может быть нулевым. Имя параметра: тип ---> System.ArgumentNullException: значение не может быть нулевым. Имя параметра: тип в System.Activator.CreateInstance (тип типа, логическое значение nonPublic) в DotCMIS.Binding.Impl.CmisBinding..ctor (IDictionary2 sessionParameters, AbstractAuthenticationProvider authenticationProvider) --- End of inner exception stack trace --- at DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionary2 sessionParameters, AbstractAuthenticationProvider authenticationProvider) в DotCMIS.Client.Impl.CmisBindingFelperformance_CmisBindingHelper.параметры. objectFactory, AbstractAuthenticationProvider authenticationProvider, кеш ICache) в TPR.SIF.WorkflowActivity.SessionService.CreateNewSession (String dmWebServiceUrl, String userName, String password) в TPR.SIF.WorkflowActivity.SifService.SetUpServices в TPR.SIF.WorkflowActivity.SifService.SetUpServices в коде TPActivityActivity.SifServiceSetUpServices в TPA (CodeActivityConctivityContext). .Execute (CodeActivityContext codeActivityContext).

Ошибка возникает в следующей строке:

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

который вызывает эту строку в библиотеке CMIS

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

Кто-нибудь знает, почему нельзя создать "DotCMIS.Binding.NtlmAuthenticationProvider"?

Большое спасибо.

Шон.


person Sean    schedule 16.08.2012    source источник
comment
у меня тоже есть связанная ошибка, мне тоже нужна помощь для этого :) stackoverflow.com / questions / 29382247 /   -  person Curious_Asker    schedule 01.04.2015


Ответы (1)


Поддержка NTLM будет выпущена с DotCMIS 0.5. Если вы используете DotCMIS 0.4, он не может работать.

person Florian Müller    schedule 16.08.2012
comment
Спасибо! да, я только что видел этот комментарий (начиная с версии 0.5) = DotCMIS.Binding.NtlmAuthenticationProvider). У вас есть ссылка на скачивание 0.5? - person Sean; 16.08.2012
comment
DotCMIS 0.5 еще не выпущен. Вам нужно взять исходный код и собрать его самостоятельно. - person Florian Müller; 16.08.2012
comment
благодаря. Я только что нашел здесь 2 обновленных класса: issues.apache.org/jira/browse/ CMIS-531 - person Sean; 16.08.2012