1

C# で DOTCMIS を使用して sharepoint 2010 に接続しようとしています。この質問と非常によく似た方法で:

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: 認証プロバイダーを読み込めませんでした: 値を null にすることはできません。パラメーター名: タイプ ---> System.ArgumentNullException: 値を null にすることはできません。2 sessionParameters, AbstractAuthenticationProvider authenticationProvider) --- End of inner exception stack trace --- at DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionaryパラメーター名: DotCMIS.Client.Impl.CmisBindingHelper.CreateAtomPubBinding(IDictionary) で DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionary 2 sessionParameters, AbstractAuthenticationProvider authenticationProvider) でSystem.Activator.CreateInstance(Type 型、Boolean nonPublic) で型2 parameters, AbstractAuthenticationProvider authenticationProvider) at DotCMIS.Client.Impl.SessionFactory.GetRepositories(IDictionaryTPR.SIF.WorkflowActivity.SessionService.CreateNewSession(String dmWebServiceUrl, String userName, String password) at TPR.SIF.WorkflowActivity.SifService.SetUpServices(CodeActivityContext codeActivityContext) at TPR.SIF.WorkflowActivity.SessionService.CreateNewSession(String dmWebServiceUrl, String userName, String password) at TPR.SIF.SIF.WorkflowActivity.SifService.SetUpServices(CodeActivityContext codeActivityContext) .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」を作成できない理由を知っている人はいますか?

どうもありがとう。

ショーン。

4

1 に答える 1

0

NTLM サポートは、DotCMIS 0.5 でリリースされます。DotCMIS 0.4 を使用している場合は動作しません。

于 2012-08-16T13:23:55.607 に答える