我正尝试使用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提供程序:值不能为空。 参数名称:type ---> System.ArgumentNullException:值不能为空。 参数名称:在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) 在DotCMIS.Client.Impl.CmisBindingHelper类型 。 CreateAtomPubBinding(IDictionary的2 parameters, AbstractAuthenticationProvider authenticationProvider) at DotCMIS.Client.Impl.SessionFactory.GetRepositories(IDictionary
2参数,IObjectFactory objectFactory对象,AbstractAuthenticationProvider的AuthenticationProvider,ICACHE缓存) 在TPR.SIF.WorkflowActivity.SessionService.CreateNewSession(字符串dmWebServiceUrl,用户名字符串,字符串密码) 在TPR.SIF.WorkflowActivity.SifService.SetUpServices(CodeActivityContext codeActivityContext) at TPR.SIF.WorkflowActivity.SifService.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” ?
非常感谢。
肖恩。
我也有一个相关的错误,我也需要这个帮助:) http://stackoverflow.com/questions/29382247/getrepositoriesparameters-throws-cmisruntimeexception – 2015-04-01 03:48:43