如何在 Filenet 中存储 pdf 文档
How to Store a pdf document in Filenet
我是 IBM filenet 的新手。我刚刚获得了 CMIS 文件网的网络服务 url。
我的要求是使用 apache camel 路由到 filenet 来存储从一个系统获得的 PDF 文档。尝试在 SOAP UI 中导入 wsdl,我可以看到一组 API,如 createDocument、createFolder 等,是否有测试这些 API 的简单方法。首先至少我想在 java 中进行简单测试,至少将文档存储在 filenet 中。请帮助我理解。
要添加任何类型的文档,您需要将该文档签入到 FileNet ObjectStore 的任何特定文件夹中。
为此,您需要一个文档路径或其字节数组来创建要插入到 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);
}
}
为了对 CMIS 进行故障排除,我通常会按照下面为您编制的一般步骤进行操作。说到这里,我强烈建议您为每个操作创建单元测试,我保证这会为您节省大量时间和精力
- 启动 Fiddler [a].
- 启动 CMIS Workbench。 0.8.0 [b] 及更高版本自动代理
请求,至少在 Windows 7.
- 登录到存储库
- 可选择导航到文件夹。
- 创建文档。将 Generate content 字段保留为 0 字节,如果
创建没有内容流的文档。 Select 电子邮件或其他类型。
- 转到 Fiddler 并找到 POST(状态代码将为 201)。
请求应具有 Content-Type:application/atom+xml;type=entry,以及属性 cmis:name 和 cmis:objectTypeid,在 cmisra:object 元素中。
一个。 http://www.fiddler2.com/fiddler2/
b. http://chemistry.apache.org/java/download.html
我是 IBM filenet 的新手。我刚刚获得了 CMIS 文件网的网络服务 url。
我的要求是使用 apache camel 路由到 filenet 来存储从一个系统获得的 PDF 文档。尝试在 SOAP UI 中导入 wsdl,我可以看到一组 API,如 createDocument、createFolder 等,是否有测试这些 API 的简单方法。首先至少我想在 java 中进行简单测试,至少将文档存储在 filenet 中。请帮助我理解。
要添加任何类型的文档,您需要将该文档签入到 FileNet ObjectStore 的任何特定文件夹中。
为此,您需要一个文档路径或其字节数组来创建要插入到 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);
}
}
为了对 CMIS 进行故障排除,我通常会按照下面为您编制的一般步骤进行操作。说到这里,我强烈建议您为每个操作创建单元测试,我保证这会为您节省大量时间和精力
- 启动 Fiddler [a].
- 启动 CMIS Workbench。 0.8.0 [b] 及更高版本自动代理 请求,至少在 Windows 7.
- 登录到存储库
- 可选择导航到文件夹。
- 创建文档。将 Generate content 字段保留为 0 字节,如果 创建没有内容流的文档。 Select 电子邮件或其他类型。
- 转到 Fiddler 并找到 POST(状态代码将为 201)。
请求应具有 Content-Type:application/atom+xml;type=entry,以及属性 cmis:name 和 cmis:objectTypeid,在 cmisra:object 元素中。
一个。 http://www.fiddler2.com/fiddler2/ b. http://chemistry.apache.org/java/download.html