2012-08-16 1 views
1

J'essaie de me connecter à SharePoint 2010 en utilisant DOTCMIS en C#. De façon très similaire à cette question:Connexion à Sharepoint 2010 via DOTCMIS: fournisseur d'authentification d'exception

Connecting via CMIS (dotCMIS) to SP2010: exception unauthorised

(Cependant, mon code est en cours d'exécution dans une activité de workflow personnalisée MSCRM 2011)

Mon code est:

 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(); 

Cependant, chaque fois que je l'exécute, je reçois actuellement l'exception suivante:

Sif Erreur générale: DotCMIS.Exceptions.CmisRuntimeException: Impossible de charger le fournisseur d'authentification: La valeur ne peut pas être nulle. Nom du paramètre: type ---> System.ArgumentNullException: La valeur ne peut pas être nulle. Nom du paramètre: Type à System.Activator.CreateInstance (type de type, booléen non publique) à 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 deux paramètres, IObjectFactory ObjectFactory, AbstractAuthenticationProvider authenticationProvider, le cache de iCache) à TPR.SIF.WorkflowActivity.SessionService.CreateNewSession (String dmWebServiceUrl, String userName, mot de passe String) à TPR.SIF.WorkflowActivity.SifService.SetUpServices (CodeActivityContext codeActivityContext) à TPR.SIF.WorkflowActivity.SifService.Execute (CodeActivityContext codeActivityContext)

L'erreur se produit sur la ligne suivante:

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

qui appelle cette ligne dans la bibliothèque CMIS

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

que quelqu'un sait pourquoi "DotCMIS.Binding.NtlmAuthenticationProvider" ne peut pas être créé ?

Merci beaucoup.

Sean.

+0

J'ai aussi eu une erreur connexe, j'ai aussi besoin d'aide pour cela aussi :) http://stackoverflow.com/questions/29382247/getrepositoriesparameters-throws-cmisruntimeexception –

Répondre

0

Le support NTLM sera disponible avec DotCMIS 0.5. Si vous utilisez DotCMIS 0.4, cela ne peut pas fonctionner.

+0

Merci! oui je viens de voir ce commentaire (depuis 0.5) = DotCMIS.Binding.NtlmAuthenticationProvider). Avez-vous un lien de téléchargement pour 0.5? – Sean

+0

je ne peux pas le voir sur http://chemistry.apache.org/dotnet/dotcmis.html? merci – Sean

+0

DotCMIS 0.5 n'est pas encore sorti. Vous devez saisir le code source et le construire vous-même. –

Questions connexes