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

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

If、Else if、および Else 変換の「If」条件の構成

If、Else if、および Else 変換を使用し、条件を設定することにより、入出力メッセージ・アセンブリー内で個別タイプまたは派生タイプとして定義されているエレメント間のデータ・マッピングのフローを制御できます。If 条件を構成するには、入力エレメントを出力エレメントに接続し、コア変換「If」を選択する必要があります。

手順

以下のステップを実行して、If、Else if、および Else 変換の If 条件を作成して構成します。

  1. 「SOAP_Domain_Msg」 > 「Body」 > 「SaveAddress」 > 「Person」 > 「Address」の下にある入力メッセージ・アセンブリー・オブジェクト内のエレメント「Country」 を、「SOAP_Domain_Msg」 > 「Body」 > 「SaveAddress」 > 「Person」の下にある出力メッセージ・アセンブリー・オブジェクト内のエレメント「Address」 に接続します。

    「Local map」変換が自動的に作成されます。

  2. 「Local map」条件を出力エレメント「Address」に接続します。
  3. 「Local map」変換の右側にある下向き矢印を選択することで、「Local map」変換を「If」変換に変更します。
    1. 「Local map」変換の右側にある矢印を左クリックします。

      以下の図では、「If」変換の選択方法をわかりやすく示します。

      この図は、赤い丸に囲まれた矢印を含む「Local map」変換を示しています。
    2. 「コア変換」内にある「If」変換を選択します。

      以下の図では、選択可能なコア変換のリストをわかりやすく示します。

      この図は、選択可能なコア変換のリストをわかりやすく示しています。

      赤の感嘆符付きの「If」条件が、2 つの入力エレメントと 1 つの出力エレメントに接続されて表示されます。

      注: シナリオを完了することで、これらのエラーを解決します。

      「If」条件の左側にある赤の感嘆符は、複数の妥当性検査の問題があることを強調しています。エラーの 1 つは、「If」条件に式が含まれていないことを示しています。2 番目のエラーは、「If」条件に関連付けられた、ネストされたマップ内のすべてのエレメントに変換を定義する必要があることを示しています。このネストされたマップは、派生タイプ CanadianAddress を持つ住所を基本住所タイプ Address にマップする方法を定義するために使用するマップです。

      この図は、CanadianAddress を派生タイプとして持つ住所を If 変換に接続した後のメッセージ・マップを示しています。
  4. CanadianAddress を派生タイプとして持つ住所を If 変換に接続します。

    接続を作成した後のメッセージ・マップを以下の図に示します。

    この図は、エレメント Country およびタイプ CanadianAddress のエレメント Address から If 条件への接続、および If 条件から Address 出力エレメントへの接続を含むメッセージ・マップを示しています。
  5. 「If」条件を選択し、「変換 - If」プロパティーの下の「条件」タブで式を定義します。以下のステップを実行します。
    1. Ctrl + スペース・バーを押し、エレメントのリストを取得します。

      このシナリオで選択可能なエレメントを以下の図に示します。

      この図は、Ctrl+スペース・バーを押したときに選択可能なエレメントのリストを示しています。
      注: XPath 式は直接入力できますが、統合ソリューションを作成するためにとるステップに応じて、生成される変数名がスキーマ・ファイル内のエレメント名と異なることに注意してください。エレメント名には、ツールによって自動的に定義される名前の末尾に ID が連結されています。
    2. エレメントを選択し、ダブルクリックします。
    3. その変数に関連した XPath 式を定義します。
    4. XPath 式に複数の入力エレメントが含まれている場合は、上記のステップを繰り返します。

    条件は XPath 2.0 式であり、直接定義することも、「編集」をクリックして XPath 式ビルダーを使用して作成することもできます。

    このシナリオでは、メッセージ・フローをお客様自身で作成した場合、$Country4 = 'Canada' など、似た式になりますが、まったく同じにはなりません。

    「If」変換の「プロパティー」タブを以下の図に示します。

    この図は、「If」変換の「プロパティー」タブ、および条件を設定するための XPath 式を示しています。

タスクの結果

これで、「If」条件の定義と構成が完了しました。

次のタスク

「If」変換の「Else If」条件を定義します。詳しくは、If、Else if、および Else 変換の「Else If」条件の構成を参照してください。