0

我使用 IBM Content Manager 8.4.1,我需要编写一些代码来检索文档。我拥有的信息是从 ICMADMIN(默认)架构下的文档视图中检索的项目 ID 和组件 ID。

下面的块给出了一个使用 DKPidICM 对象生成用于获取工作包的主 ID (pid) 的示例,但我想获取一个文档,并且需要知道有什么不同。

DKPidICM pidicm = new DKPidICM();
pidicm.setComponentId(compId);
pidicm.setItemId(itemId);
pidicm.setDatastoreName(datastoreName);
pidicm.setComponentTypeId("204");
pidicm.setVersionNumber("1");
pidicm.setObjectType("WORKPACKAGE");
pidicm.setDatastoreType("ICM");
pidicm.getPrimaryId();

要检索文档我需要设置什么

  • 组件类型 ID
  • 对象类型

或者有没有更好的方法一起

4

1 回答 1

0

事实证明,组件类型 id 直接基于您要查找的项目类型,因此项目下的系统管理客户端的名称。

我发现确定 componentTypeId 的最直接方法是:

1).查询该项目类型queryService.setQueryString(**"/itemTypeName"**, CMBBaseConstant.CMB_QS_TYPE_XPATH);

2).创建对应的DKPidICMDKPidICM pidicm = new DKPidICM(pidString)

3).从中获取componentIDpidicm.getComponentTypeId()

更完整的示例如下

    CMBQueryService queryService = cmbConnection.getQueryService();
    queryService.setAsynchSearch(false); // synchronous search
    queryService.setMaxResults(1);

    queryService.setQueryString("/itemTypeName", CMBBaseConstant.CMB_QS_TYPE_XPATH);
    queryService.runQuery();

    CMBResultData results = (CMBResultData) queryService.getResults();

    CMBSearchResults searchResults = new CMBSearchResults();
    searchResults.setConnection(cmbConnection);
    searchResults.newResults(results);

    if (searchResults.getCount() > 0) {
        String pidString = searchResults.getItem(0).getPidString();
        DKPidICM pidicm = new DKPidICM(pidString);

        return pidicm.getComponentTypeId();
于 2012-08-31T04:39:04.533 回答