Content management system 如何使用项目id和组件id获取CM8.4中文档的主id(pid)?

Content management system 如何使用项目id和组件id获取CM8.4中文档的主id(pid)?,content-management-system,Content Management System,我正在使用IBMContentManager8.4.1,我需要编写一些代码来检索文档。我拥有的信息是从ICMADMIN(默认)模式下的文档视图中检索到的项目ID和组件ID 下面的代码块给出了一个使用DKPidICM对象生成用于获取工作包的主id(pid)的示例,但是我想获取一个文档,需要知道有什么不同 DKPidICM pidicm = new DKPidICM(); pidicm.setComponentId(compId); pidicm.setItemId(itemId); pidicm.

我正在使用IBMContentManager8.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
  • 对象类型

或者有更好的方法吗?

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

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

1) .查询该项类型
queryService.setQueryString(**“/itemTypeName”**,cmbBaseContent.CMB\u QS\u type\u XPATH)

2) 。创建相应的DKPidICM
DKPidICM-pidicm=new DKPidICM(pidString)

3) 。从该
pidicm.getComponentTypeId()获取组件ID

下面更完整的样本

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