gpt4 book ai didi

java - 版本控制文件错误,在 java 中使用 Magnolia 与 apache Chemistry 和标准 CMIS

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:33 25 4
gpt4 key购买 nike

我尝试在远程 Magnolia 存储库中创建一个文件作为主要版本。为此,我在 Eclipse EE IDE 上使用 java、来自 org.apache.chemistry.opencmis.* 的库和 REST 架构。我用于制作文档的代码如下:

Folder parent = rute.get(rute.size() - 1);

Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document");
properties.put(PropertyIds.NAME, name);

// content
byte[] content = "".getBytes();
InputStream stream = new ByteArrayInputStream(content);
ContentStream contentStream = new ContentStreamImpl
(nombre, BigInteger.valueOf(content.length), "text/plain", stream);

// create a major version
try {
parent.createDocument(properties, contentStream, VersioningState.MAJOR);
} catch (CmisConstraintException e) {
e.printStackTrace();
}

并且它抛出异常“cmis:document 不支持版本控制”。相同的代码但连接到 Alfresco 而不是 Magnolia 工作得很好,所以我认为 Magnolia 配置有问题,但我找不到问题。有人可以帮助我吗?

最佳答案

我的猜测是您根本没有在 Magnolia 中注册 cmis:document 类型。 Magnolia 中的所有内容均超出 mgnl:content 类型的范围。由于 Magnolia 中的版本控制工作方式与 Alfresco 中的不同,我什至不会尝试以这种方式创建版本。实际上,更简单,如果您使用最新版本的 Magnolia,您可以通过 REST 调用 VersionCommand,并告诉 Magnolia 对您需要直接进行版本控制的任何页面进行版本控制。

关于java - 版本控制文件错误,在 java 中使用 Magnolia 与 apache Chemistry 和标准 CMIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22038221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com