首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过DOTCMIS连接到Sharepoint 2010 :异常身份验证提供者

通过DOTCMIS连接到Sharepoint 2010 :异常身份验证提供者
EN

Stack Overflow用户
提问于 2012-08-16 11:57:39
回答 1查看 1.1K关注 0票数 1

我正在尝试使用C#中的DOTCMIS连接SharePoint2010。以非常类似于这个问题的方式:

Connecting via CMIS (dotCMIS) to SP2010: exception unauthorised

(但是,我的代码运行在MSCRM 2011自定义工作流活动中)

我的代码是:

代码语言:javascript
复制
        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:未能加载身份验证程序提供程序:值不能为空。参数名称: type --> System.ArgumentNullException: Value不能为null。参数名称:在DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionary2 sessionParameters, AbstractAuthenticationProvider authenticationProvider) --- End of inner exception stack trace --- at DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionary2 sessionParameters处键入System.Activator.CreateInstance(类型类型,布尔型nonPublic),在DotCMIS.Client.Impl.CmisBindingHelper.CreateAtomPubBinding(IDictionary2 parameters, AbstractAuthenticationProvider authenticationProvider) at DotCMIS.Client.Impl.SessionFactory.GetRepositories(IDictionary2参数处键入AbstractAuthenticationProvider authenticationProvider,在TPR.SIF.WorkflowActivity.SessionService.CreateNewSession(String dmWebServiceUrl处键入IObjectFactory objectFactory、AbstractAuthenticationProvider authenticationProvider、ICache cache),在TPR.SIF.WorkflowActivity.SifService.Execute(CodeActivityContext dmWebServiceUrl处键入String userName、String password)

此错误发生在以下行:

代码语言:javascript
复制
  sessionFactory.GetRepositories(parameters)[0].CreateSession();

,它在CMIS库中调用这一行

代码语言:javascript
复制
       if (sessionParameters.TryGetValue(SessionParameter.AuthenticationProviderClass, out authenticationProviderClass))
            {
                try
                {
                    Type authProvType = Type.GetType(authenticationProviderClass);
                     authenticationProvider = (AbstractAuthenticationProvider)Activator.CreateInstance(authProvType);

有人知道为什么不能创建"DotCMIS.Binding.NtlmAuthenticationProvider"吗?

非常感谢。

肖恩。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-16 13:23:55

NTLM支持将在DotCMIS 0.5中发布。如果您使用的是DotCMIS 0.4,则无法工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11986573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档