WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

Task 変換の構成

変換で直接置き換えることができないマッピング構造がメッセージ・マップに含まれていた場合、新規グラフィカル・データ・マップには、手動でそれらの構造を再作成するのに役立つ Task 変換が組み込まれています。メッセージング・ソリューションでグラフィカル・データ・マップを使用する前に、それぞれの Task 変換を確認し、置き換える必要があります。

このタスクについて

シナリオ・マップ MembersMFPFlow_Mapping.map の中の Task 変換を解決する必要があります。『メッセージ・マップをグラフィカル・データ・マップに変換する際の考慮事項』には、自動的に変換できるものとできないものについての情報が含まれています。シナリオ・マップでは、esql:trim-both は自動的に変換できない関数で、 そのため、Task 変換になっています。

サブマップに Task 変換がある場合、これは、メイン・マップでは変換に赤の掛け印を付けて表され、カーソルをその変換の上に移動すると詳細情報が表示されます。Task 変換は、「問題」ビューにリストされます。

有効な変換タイプになるように、Task 変換を構成する必要があります。Task 変換を解決するには、以下のステップを行います。

手順

  1. グラフィカル・データ・マッピング・エディターで、Task 変換を選択します。
    選択された Task 変換。
    「プロパティー」ビューに変換プロパティーが表示されます。
  2. 「プロパティー」ビューで「文書」タブをクリックし、変換プロセスによって再作成されなかったマッピング構造に関する詳細を確認します。 シナリオでは、「文書」タブの中の情報に、関数と同等の式を作成することで Task を解決する方法が 説明されています。
  3. グラフィカル・データ・マッピング・エディターで変換ボックス内の矢印をクリックし、使用可能な変換のリストから選択することによって、Task 変換を動作する変換タイプに変更します。 このシナリオでは、「カスタム XPath」を選択します。
    選択可能な変換のメニュー。「カスタム XPath」が選択されています。
  4. 「プロパティー」ビューで、「一般」タブをクリックします。
  5. 「一般」タブのフィールドに、次の XPath 式を入力します。
    fn:normalize-space( fn:substring( $PERSON_NOTES, 0, 24))

    入力エレメントは異なる変換では異なる可能性があるため、XPath 式を構成するときに コンテンツ・アシスト (「Ctrl」 + 「スペース」) を使用することで、常に有効な変数名を使用できます。 次の例で、ステップ9のコンテンツ・アシストを使用することの重要性を示します。

    この式は、オリジナルの関数の動作を再作成します。
  6. 更新したマップを保存します。

更新されたロジックによってどのようにマッピングの動作が変わったか、また、 変換の検査の重要性の理由がテストにより示されるため、ここで、グラフィカル・データ・マップをテストする一連のオプションのステップが用意されています。 動作するマップのみを作成する場合は、ステップ8に進みます。

  1. オプション: シナリオ・マップの中の ESQL NULL 動作に加えた変更をテストします。
    1. ソリューションの検証の中の以下のステップを試します。
      ソリューションの検証結果。フィールド MEMBERS_COMMENT3 が表示されていますが、値は含まれていません。
      PERSON_NOTES エレメントの長さが 48 文字未満である場合、 出力エレメント MEMBER_COMMENT3 は空の XML エレメントとして作成されます。
    2. オリジナルのバージョン 7.0 のテスト結果を検討します。 この状態では MEMBER_COMMENT3 が除外されたことが分かります。これは、ESQL NULL 処理が異なるためです。XML/XPath 標準ベースのグラフィカル・データ・マップでは、 モデルでエレメントが nil 可能であると定義されている場合は、NULL のみを、xsi:nil を設定して、空のエレメントとしてモデル化できます。 そのような変更は予想外で不要である場合は、処理エラーまたは検証エラーにつながる可能性があります。 入力データの長さが 48 文字未満である場合に commentPart3() ESQL が 呼び出されないように、XPath 条件式を追加する必要があります。
    3. ステップ 8 からシナリオを続行します。
  2. グラフィカル・データ・マッピング・エディターで、PERSON_NOTES を接続するカスタム ESQL 変換を選択します。「プロパティー」ビューの「条件」タブをクリックします。
  3. 「条件」タブのフィールドに、次の XPath 式を入力します。
    fn:string-length( $PERSONNOTES ) > 48

    この条件により、PERSON_NOTES の値が 48 文字未満の場合に MEMBER_COMMENT3 が表示されなくなります。

    XPath 式を構成するときに、コンテンツ・アシスト (「Ctrl」 + 「スペース」) を使用します。提供されたステップの外で 変換を変更した場合は、コンテンツ・アシストは $PERSON_NOTES に対して別の値を示唆することがあります。

    例えば、コンテンツ・アシストは $PERSON_NOTES1 を示唆することがあります。この値はシナリオで正しいため、 受け入れます。
  4. Task 変換は動作するカスタム XPath 変換に解決されます。更新したマップを保存します。
  5. 更新したマップを保存します。

タスクの結果

変換されたグラフィカル・データ・マップから、注釈およびエラーを正常に削除しました。 これで、マッピング・ソリューションを使用する準備ができました。

マップが意図したとおりに動作するかどうか確認するには、ソリューションの検証のステップを行います。