Я пытаюсь подключиться к 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(IDictionary
2 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"?
Большое спасибо.
Шон.