Hi Robert,
DotCMIS is a bit stricter compared to OpenCMIS. It ignores repositories
if the AtomPub service document isn't a 100% correct.
Can you send the Documentum AtomPub service document? Maybe there is
something we can do in DotCMIS.
- Florian
> Hello,
>
> I am having a problem logging into a Documentum repository via DotCMIS. I
> have code that successfully logs into other repositories but is failing
> against Documentum. I can login successfully to the same Documentum
> system using CMIS Workbench Version: 0.8.0-SNAPSHOT / Revision: ? / Build:
> 2012-09-03T21:14:47+0200.
>
> The same credentials on my DotCMIS application fail. I have attempted to
> login by choosing the first repository and by specifying a repository.
> Both methods fail. I am using DotCMIS.dll 0.6.0.0.
>
> When I attempt to login to the first repository,
> factory.GetRepositories(loginParameters); returns a list of 0 items.
>
> When I attempt to login by specifying the repository, I receive an
> exception that the repository does not exist. This same repository is the
> one displayed by CMIS workbench:
>
> Here is the exception for the specified repository:
> DotCMIS.Exceptions.CmisObjectNotFoundException: Repository not found!
> at DotCMIS.Binding.AtomPub.RepositoryService.GetRepositoryInfo(String
> repositoryId, IExtensionsData extension)
> at
> DotCMIS.Binding.Impl.BindingRepositoryService.GetRepositoryInfo(String
> repositoryId, IExtensionsData extension)
> at DotCMIS.Client.Impl.Session.Connect()
> at DotCMIS.Client.Impl.SessionFactory.CreateSession(IDictionary`2
> parameters, IObjectFactory objectFactory, AbstractAuthenticationProvider
> authenticationProvider, ICache cache)
>
>
> Here is the snip of code that performs the login. I split apart the
> GetRepositories call and login call to multiple statements so I could
> confirm that it is returning an empty list.
>
> ISession myCMISSession = null;
> loginParameters = new Dictionary<string, string>();
> loginParameters[SessionParameter.BindingType] = BindingType.AtomPub;
> loginParameters[SessionParameter.AtomPubUrl] = cmisAtomPubURL; //
> cmisAtomPubURL; is a string
> loginParameters[SessionParameter.User] = cmisUserID; // cmisUserID; is a
> string
> loginParameters[SessionParameter.Password] = cmisPassword; //
> cmisPassword; is a string
> SessionFactory factory = SessionFactory.NewInstance();
>
> if ((cmisRepositoryID != null) && (cmisRepositoryID.Trim().Length > 0))
> {
> loginParameters[SessionParameter.RepositoryId] = cmisRepositoryID; //
> Login using a specific repository ID
> myCMISSession = factory.CreateSession(loginParameters);
> }
> else
> {
> IList<IRepository> repositoryList =
> factory.GetRepositories(loginParameters);
> if (repositoryList.Count != 0)
> {
> myCMISSession = repositoryList[0].CreateSession(); // Login to the
> first repository
> }
> }
>
> When I click on "Load Repositories" using CMIS Workbench, it does list the
> single repository and the login to that repository is successful. I do
> not understand why it is getting a list of repositories but my code does
> not.
>
> Can anyone offer any advice as to why I cannot login using DotCMIS when
> the same login credentials work with CMIS Workbench?
>
> Thanks,
> Robert
>
>
>