4
我正在编写基于OpenCMIS的应用程序,该应用程序从Alfresco 3.3中提取一些数据。使用OpenCMIS获得Alfresco扩展属性
它可以正常工作标准 CMIS属性,如cmis:name
或cmis:contentStreamMimeType
;然而,我无法访问露天especific性能,这是存在于CMIS AtomPub的饲料为“露天扩展”:
<cmisra:object>
<cmis:properties>
<cmis:propertyString propertyDefinitionId="cmis:name" displayName="Name" queryName="cmis:name">
<cmis:value>test document</cmis:value>
</cmis:propertyString>
<cmis:propertyString propertyDefinitionId="cmis:contentStreamMimeType" displayName="Content Stream MIME Type" queryName="cmis:contentStreamMimeType">
<cmis:value>text/html</cmis:value>
</cmis:propertyString>
...
<alf:aspects>
...
<alf:properties>
<cmis:propertyString propertyDefinitionId="cm:description" displayName="Description" queryName="cm:description">
<cmis:value>This is just a test document</cmis:value>
</cmis:propertyString>
</alf:properties>
</alf:aspects>
</cmis:properties>
</cmisra:object>
有什么办法中,我能得到的cm:descripcion
值,与OpenCMIS?
我的猜测是我需要使用DocumentType
接口而不是Document
,然后调用它的getExtensions()
方法。但我不知道如何获得DocumentType的实例。
任何帮助将非常感激。
问候
编辑: altough弗洛里安的答案已经制定了我,我才意识到,我可以得到这些属性的值与CMIS SQL,太:
select d.*, t.*, a.*
from cmis:document d
join cm:titled t on d.cmis:objectid = t.cmis:objectid
join cm:author a on d.cmis:objectid = a.cmis:objectid
where t.cm:description like ...
非常感谢您的答案,弗洛里安。是的,它的工作原理。这几乎是我在昨天的最后一次尝试中所做的:session.getBinding()。getObjectService()。getProperties()。getExtensions()...我只是尝试将响应(列表