如何在Filenet中存储pdf文档

时间:2016-03-16 12:54:33

标签: java soap cmis filenet-p8 filenet

我是IBM filenet的新手。我刚收到了CMIS filenet的webservice url。

我的要求是使用apache camel路由存储从一个系统获取的PDF文档到filenet。尝试在SOAP UI中导入wsdl,我可以看到一组API,如createDocument,createFolder等。是否有一种简单的方法来测试这些API。首先,至少我想在java中进行简单测试,至少将文档存储在filenet中。请帮助我理解。

2 个答案:

答案 0 :(得分:2)

要添加任何类型的文档,您需要将该文档签入FileNet ObjectStore的任何特定文件夹。

为此,您需要一个文档路径或其byteArray来创建要在ObjectStore中插入的fileinputstream。

创建文档的代码,

  1. 创建与内容引擎的连接
  2. 参考代码可以帮助您
  3. 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);
        }
    }
    

答案 1 :(得分:0)

为了对CMIS进行故障排除,我通常会按照下面为您编写的一般步骤进行操作。说这个,我强烈建议你为你的每个操作创建单元测试,我保证会为你节省大量的时间和精力

  1. 启动Fiddler [ a ]。
  2. 启动CMIS Workbench。 0.8.0 [ b ]以及稍后自动代理 请求,至少在Windows 7上。
  3. 登录存储库
  4. 可选择导航至文件夹。
  5. 创建文档。如果将生成内容字段保留为0字节 创建没有内容流的文档。选择电子邮件或其他类型。
  6. 前往Fiddler找到POST(状态代码为201)。
  7. 请求应该具有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