2016-03-16 87 views
-2

IBM新的IBM文件網。我剛剛獲得了CMIS文件網的webservice url。如何在Filenet中存儲pdf文檔

我的要求是將使用apache駱駝路徑從一個系統獲得的PDF文檔存儲到filenet。嘗試在SOAP UI中導入wsdl,我可以看到一組API,如createDocument,createFolder等等,是否有測試這些API的簡單方法。首先,至少我想簡單地在java中測試,至少要在filenet中存儲一個文檔。請幫助我理解。

回答

0

爲了排查CMIS,我通常遵循下面爲您編寫的一般步驟。說這句話的,我會強烈建議你,你去創建爲每個業務單元測試,我保證它會爲你節省大量的時間和精力

  1. 開始提琴手[一個
  2. 啓動CMIS Workbench。 0.8.0 [b]並且以後自動代理 請求,至少在Windows 7
  3. 登錄到存儲庫
  4. 任選地導航到一個文件夾。
  5. 創建文檔。如果 創建沒有內容流的文檔,請將生成內容字段保留爲0字節。選擇電子郵件或其他類型。
  6. 轉到Fiddler並找到POST(狀態碼將爲201)。

該請求應具有內容類型:應用/原子+ xml的;類型=項,屬性,CMIS:名稱和CMIS:objectTypeid,在cmisra:對象元件。

a。 b。 http://chemistry.apache.org/java/download.html

2

要添加任何類型的文檔,您需要將該文檔簽入到FileNet ObjectStore的任何特定文件夾中。

爲此,您需要一個文檔路徑或其byteArray來創建要在ObjectStore中插入的fileinputstream。

代碼來創建文檔,

  1. 創建連接到內容引擎
  2. 參考代碼可能它會幫助你

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); 
    } 
}