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).対応する DKPidICM を作成します。DKPidICM pidicm = new DKPidICM(pidString)

3).そこから componentID を取得するpidicm.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 に答える