java - CMIS 保持能力

标签 java web-services cxf cmis opencmis

我正在使用 Apache Chemistry 和 CXF 在 JAVA 中开发通用 CMIS 1.1 客户端应用程序。

目前,我正在努力解决此处描述的 CMIS 的保持功能: http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html#x1-13200016

当我在 InMemory 存储库中创建 ID 为“cmis:rm_hold”的辅助类型并将该类型添加到任何 cmis:document 的属性 (cmis:secondaryObjectTypeIds) 时,该文件仍然可以被删除。

也许这不是正确的方法。

有人可以为我指出实现此功能的正确方向吗?

我用来添加属性的代码:

CmisPropertiesType properties = new CmisPropertiesType();

CmisPropertyId propertyId = new CmisPropertyId();
propertyId.setPropertyDefinitionId("cmis:secondaryObjectTypeIds");
propertyId.getValue().add("cmis:rm_hold");
properties.getProperty().add(propertyId);

objectServicePort.updateProperties(
    cmisContext.getRepositoryId(), 
    new Holder<String>(id.getDocId()), null, properties, null);

谢谢你, 米雷兹

最佳答案

抱歉,InMemory 存储库不支持保留和保留。默认情况下,InMemory 服务器不会公开保留和保留规范中的预定义类型。如果您随后创建这样的类型,服务器将识别该类型和属性,但不会知道与“hold”等属性关联的语义。事实上,您不应该尝试在运行时添加预定义类型(以 cmis: 开头的类型),因为它们的存在表明该功能是否受支持。

对于测试保留和保留,InMemory 服务器不是合适的服务器。 InMemory 服务器仅限于基本功能。

希望这有帮助...

关于java - CMIS 保持能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20519886/

相关文章:

java - 自动定时器@Schedule Java EE

Java 线程未异步运行 - 有些根本未完成

c++ - 在提供 JSON 数据的 C++/Qt(充当服务器)中创建简单的 WebService

web-services - 在哪里使用网络服务

java - 是否可以在没有 web.xml 的情况下设置 apache-cxf?

java - 理解单一职责原则

java - 重载时编译器错误 - Java

jquery - 使用 Jquery ajax 填充 select 的最*有效*方法

rest - 如何在 TomEE 中编写基于 CXF 的 REST 客户端?

java - 使用 Spring Boot 更改生成的 CXF 服务器的日志级别