版本控制文件错误,在 java 中使用 Magnolia 与 apache 化学和标准 CMIS
Posted
技术标签:
【中文标题】版本控制文件错误,在 java 中使用 Magnolia 与 apache 化学和标准 CMIS【英文标题】:Versioning files error, using Magnolia in java with apache chemistry and standard CMIS 【发布时间】:2014-02-26 10:16:39 【问题描述】:我尝试在远程 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 配置有问题,但我找不到问题。有人可以帮助我吗?
【问题讨论】:
【参考方案1】:我的猜测是您根本没有在 Magnolia 中注册 cmis:document 类型。 Magnolia 中的所有内容都是开箱即用的 mgnl:content 类型。而且由于 Magnolia 中的版本控制与 Alfresco 中的不同,我什至不会尝试以这种方式制作版本。实际上,要简单得多,如果您使用的是最新版本的 Magnolia,您可以通过 REST 调用 VersionCommand 并告诉 Magnolia 对您需要直接进行版本控制的任何页面进行版本控制。
【讨论】:
以上是关于版本控制文件错误,在 java 中使用 Magnolia 与 apache 化学和标准 CMIS的主要内容,如果未能解决你的问题,请参考以下文章