使用DotCMIS for Alfresco时出错"Property 'cm:title' doesn't exsist"



我通过使用Visual Studio 2010 C#通过dotCMIS与本地Alfresco服务器建立了会话

Dictionary<string, string> parameters = new Dictionary<string, string>();    
parameters[DotCMIS.SessionParameter.BindingType] = BindingType.AtomPub;      
parameters[DotCMIS.SessionParameter.AtomPubUrl] = "http://127.0.0.1:8888/alfresco/api/-default-/public/cmis/versions/1.1/atom";           
parameters[DotCMIS.SessionParameter.User] = "admin";
parameters[DotCMIS.SessionParameter.Password] = "admin";           
SessionFactory factory = SessionFactory.NewInstance();    
IList<IRepository> repos = factory.GetRepositories(parameters);
ISession session = repos.ElementAt(0).CreateSession();    

但是当我尝试获得像这样的根文件夹时

IFolder root = session.GetRootFolder(); 

或者运行类似的查询

string queryGetDoc = "SELECT * FROM cmis:document WHERE cmis:name='Bug101.png'";
IItemEnumerable<IQueryResult> docResults = session.Query(queryGetDoc, false);
IQueryResult docHit = docResults.FirstOrDefault();
string docId = docHit["cmis:objectId"].FirstValue.ToString();
IDocument document = session.GetObject(docId) as IDocument;
IList<IProperty> listOfProperties = document.Properties;
foreach (IProperty p in listOfProperties)
{
    Console.WriteLine(p.QueryName);
}

我收到一条错误消息:

DotCMS.Exceptions.CmisRuntimeException:属性"cm:title"不存在!beiDotCIMS.Client.Impl.ObjectFactory.ConvertProperty(IObjectType对象类型,IPropertyData pd)beiDotCIMS.Client.Impl.ObjectFactory.ConvertProperties(IObjectType对象类型,IProperties属性)beiDotCIMS.Client.Impl.AbstractCmisObject.Initialize(ISession会话,IObjectType对象类型,IObjectData对象数据,IOperationContext上下文)beiDotCIMS.Client.Impl.Folder.ctor(ISession会话,IObjectType对象类型,IObjectData对象数据,IOperationContext上下文)beiDotCIMS.Client.Impl.ObjectFactory.ConvertObject(IObjectData对象数据,IOperationContext上下文)beiDotCIMS.Client.Impl.Session.GetObject(字符串对象ID,IOperationContext上下文)beiDotCIMS.Client.Impl.Session.GetObject(IObjectId objectId,IOperationContext上下文)bei DotCIMS.Client.Impl.Session.GetRootFolder(IOperationContext上下文)beiDotCIMS.Client.Impl.Session.GetRootFolder()bei控制台应用程序3.程序.连接使用AtomPub_CreateFolder()

我只能猜测,我在这里错过了一些基本知识,但我在网上搜索了一下,只发现https://github.com/wk-j/alfresco-cmis/issues/1.

然而,我不知道如何应用它,也不知道它是否是正确的。

正如Gagravarr所建议的,这很简单:将连接端点更改为CMIS 1.0,查询就可以正常工作。如果我找到了PortCMIS和CMIS 1.1的Proper解决方案,我稍后会发布。

parameters[DotCMIS.SessionParameter.AtomPubUrl] = "http://127.0.0.1:8888/alfresco/api/-default-/public/cmis/versions/1.0/atom";           

相关内容

最新更新