【问题标题】:How to Store a pdf document in Filenet如何在 Filenet 中存储 pdf 文档
【发布时间】:2026-02-23 08:40:01
【问题描述】:
我是 IBM 文件网的新手。我刚刚得到了 CMIS 文件网的 webservice url。
我的要求是将使用 apache 骆驼路由从一个系统获取的 PDF 文档存储到文件网。尝试在 SOAP UI 中导入 wsdl,我可以看到一组 API,如 createDocument、createFolder 等,是否有测试这些 API 的简单方法。首先,至少我想在 java 中进行简单测试,至少将文档存储在 filenet 中。请帮助我理解。
【问题讨论】:
标签:
java
soap
cmis
filenet-p8
filenet
【解决方案1】:
要添加任何类型的文档,您需要将该文档签入到 FileNet ObjectStore 的任何特定文件夹中。
为此,您只需要一个文档路径或它的 byteArray,来创建文件输入流,然后将其插入 ObjectStore。
创建文档的代码,
- 创建与您的内容引擎的连接
- 参考代码可能会对您有所帮助
public static void insertDocument(Connection conn, String domainName) {
// Get domain.
Domain domain = Factory.Domain.fetchInstance(conn, domainName, null);
ObjectStoreSet osColl = domain.get_ObjectStores();
// Get each object store.
Iterator iterator = osColl.iterator();
while (iterator.hasNext()) {
// Get next object store.
ObjectStore objStore = (ObjectStore) iterator.next();
// Get the display name of the object store.
String objStoreName = objStore.get_DisplayName();
System.out.println("Object store name = " + objStoreName);
// Create a document instance.
Document doc = Factory.Document.createInstance(objStore, ClassNames.DOCUMENT);
// Set document properties.
doc.getProperties().putValue("DocumentTitle", "New Document via Java API");
doc.set_MimeType("text/plain"); // if its your pdf then set mimetype for PDF
doc.save(RefreshMode.NO_REFRESH);
// Check in the document.
doc.checkin(AutoClassify.DO_NOT_AUTO_CLASSIFY, CheckinType.MAJOR_VERSION);
doc.save(RefreshMode.NO_REFRESH);
// File the document.
Folder folder = Factory.Folder.getInstance(objStore, ClassNames.FOLDER, new Id("{42A3FC29-D635-4C37-8C86-84BAC73FFA3F}")); // id of folder to which you want to store document.
ReferentialContainmentRelationship rcr = folder.file(doc, AutoUniqueName.AUTO_UNIQUE, "New Document via Java API",
DefineSecurityParentage.DO_NOT_DEFINE_SECURITY_PARENTAGE);
rcr.save(RefreshMode.NO_REFRESH);
}
}
【解决方案2】:
为了对 CMIS 进行故障排除,我通常按照下面为您编译的一般步骤进行操作。这么说,我强烈建议你为你的每一个操作创建单元测试,我保证这会为你节省大量的时间和精力
- 启动 Fiddler [a]。
- 启动 CMIS 工作台。 0.8.0 [b] 及更高版本自动代理
请求,至少在 Windows 7 上。
- 登录到存储库
- 可以选择导航到文件夹。
- 创建文档。将 Generate content 字段保留为 0 字节,如果
创建没有内容流的文档。选择电子邮件或其他类型。
- 转到 Fiddler 并找到 POST(状态码将为 201)。
请求应具有 Content-Type:application/atom+xml;type=entry,以及 cmisra:object 元素中的属性 cmis:name 和 cmis:objectTypeid。
一个。 http://www.fiddler2.com/fiddler2/
湾。 http://chemistry.apache.org/java/download.html