0

设置存储在 filenet 中的文档的文档类的简单测试在 camel-cmis 2.16.2 中工作。下面是路线

from("file://C:/Target/DMS/").process(new Processor() {
            @Override
            public void process(Exchange e) throws Exception {
                e.getIn().getHeaders().put(PropertyIds.CONTENT_STREAM_MIME_TYPE, "application/pdf; charset=UTF-8");
                e.getIn().getHeaders().put(CamelCMISConstants.CMIS_FOLDER_PATH, "/Test");
                e.getIn().getHeaders().put("cmis:objectTypeId", "doc_Test");
                e.getIn().getHeaders().put(PropertyIds.NAME, e.getIn().getHeader(Exchange.FILE_NAME));
            }
        }).to("cmis://http://test:9080/fncmis/resources/Service?repositoryId=TEST_REPO&username=TEST&password=RAW(TEST)");

当我检查存储在 IBM Filenet 中的文件的文档类时 - 我可以将文档类视为测试(符号名称:doc_Test)。但是当我添加该类的至少一个参数值时,如下所示

e.getOut().getHeaders().put("prp_Field1","TestValue1");

我已经设置了参数“cmis:name”的 NoSuchHeaderException,您可以看到上面的路线。这是设置元数据参数的正确方法吗?

4

1 回答 1

0

下面的存储路线有效。确定自定义的类、字段和数据类型,根据该元数据创建元数据,然后在发送到 cmis uri(存储)之前在骆驼头中设置相同的字段名称。

ObjectTypeId - Customized class name
CMIS_FOLDER_PATH - filenet folder path inside repository
NAME - File name to be stored


from("file://C:/Target/DMS/").process(new Processor() {
            @Override
            public void process(Exchange e) throws Exception {
                e.getIn().getHeaders().put(CamelCMISConstants.CMIS_FOLDER_PATH, "/TEST");
                e.getIn().getHeaders().put("cmis:objectTypeId", "doc_Test");
                e.getIn().getHeaders().put(PropertyIds.NAME, fileName + ".pdf");
                e.getOut().getHeaders().put("prp_Field1","TestValue1");
                e.getOut().getHeaders().put("prp_Field2","TestValue2");
                e.getOut().getHeaders().put("prp_Field3","TestValue3");
            }
        }).to("cmis://http://test:9080/fncmis/resources/Service?repositoryId=TEST_REPO&username=TEST&password=RAW(TEST)");

希望它可以帮助某人..

于 2016-10-25T07:13:37.147 回答