他のノードを含むメッセージ・フローの作成

これは、複雑なメッセージのエンリッチメントを実行するシナリオの第 1 段階です。このトピックでは、以下の手順について説明します。
  1. 「ブローカー・アプリケーション開発」パースペクティブから、以下のリソースを作成します。
    • メッセージ・セット・プロジェクト、および MAPPING3_COMPLEX_messages というメッセージ・セット。メッセージ・セットは、XML ワイヤー形式を持つ有効なネーム・スペースとします。
    • COMPLEX というメッセージ定義ファイル。ターゲット・ネーム・スペース www.complex.net を持ち、接頭部は comp です。
  2. 以下の構造を使用してメッセージ addev1、addev1s、および addev1n を作成します。
    addev1
       bool (xsd:boolean) local element
       bin (xsd:hexBinary) local element
       dat (xsd:dateTime) local element
       dec (xsd:decimal) local element
       dur (xsd:duration) local element
       flt (xsd:float) local element
       int (xsd:int) local element
       str (xsd:string) local element
    addev1s
       bin (xsd:hexBinary) local element
       dat (xsd:dateTime) local element
       dur (xsd:duration) local element
       str (xsd:string) local element
    addev1n
       dec (xsd:decimal) local element
       flt (xsd:float) local element
       int (xsd:int) local element
  3. MAPPING3_COMPLEX_flows というメッセージ・フロー・プロジェクトを作成します。
  4. 以下を含む addev1 というメッセージ・フローを作成します。
    MQInput ->Filter -> Mapping -> Compute
                         ¥ ¥ --> RCD -> MQOutput
                          ¥-> Mapping1-----------/
  5. Filter ノードで以下の ESQL を設定します。
    IF Body.bool THEN
                RETURN TRUE; 
            ELSE
                RETURN FALSE;
            END IF;
  6. Filter の true ターミナルに接続されている Mapping ノード (Mapping1) でマップを開き、addev1 をソース、addev1s をターゲットとして選択します。
  7. 以下のようにソースとターゲットを接続します。
    bin --- bin
    dat --- dat
    dur --- dur
    str --- str
  8. 「スプレッドシート」ペインで、「プロパティー」を展開し、以下の値を設定します。
    MessageType | 'addev1s'
  9. ターゲットの dat を右クリックして、「If」をクリックします。
  10. 条件 fn:true() を $source/comp:addev1/str = 'dat' に置換します。
  11. dat の値 を $source/comp:addev1/dat + xs:duration("P3M") に設定します。
  12. 条件を右クリックし、「Else」をクリックします。
  13. ターゲットの dur を右クリックして、「If」をクリックします。
  14. 条件 fn:true() を $source/comp:addev1/str = 'dur' に置換します。
  15. dur の値を $source/comp:addev1/dur + xs:duration("P1Y") に設定します。
  16. 条件を右クリックし、「Else」をクリックします。
  17. Filter ノードの false ターミナルに接続されたノード (Mapping) のマップを開き、addev1 をソース、addev1n をターゲットとして選択します。
  18. 以下のようにソースとターゲットを接続します。
    dec --- dec
    flt --- flt
    int --- int
  19. 「スプレッドシート」ペインで、「プロパティー」を展開し、以下の値を設定します。
    MessageType | 'addev1n'
  20. Compute ノードの ESQL を次のように設定します。
    CALL CopyMessageHeaders();
            SET OutputRoot.MRM.dec = InputBody.dec * 10;
            SET OutputRoot.MRM.flt = InputBody.flt * 10;
            SET OutputRoot.MRM.int = InputBody.int * 10;
  21. ResetContentDescriptor ノードで、メッセージ・ドメインを XMLNS に設定し、「メッセージ・ドメインのリセット」チェック・ボックスを選択します。
  22. 適切な RFH2 ヘッダーを持つ、以下の 3 つのインスタンス・メッセージを作成します。
    <comp:addev1 xmlns:comp="http://www.complex.net">
    <bool>1</bool>
    <bin><![CDATA[010203]]></bin>
    <dat>2005-05-06T00:00:00+00:00</dat>
    <dec>19.34</dec>
    <dur>P2Y4M</dur>
    <flt>3.245E+2</flt>
    <int>2104</int>
    <str>dat</str>
    </comp:addev1>
    <comp:addev1 xmlns:comp="http://www.complex.net">
    <bool>1</bool>
    <bin><![CDATA[010203]]></bin>
    <dat>2005-05-06T00:00:00+00:00</dat>
    <dec>19.34</dec>
    <dur>P2Y4M</dur>
    <flt>3.245E+2</flt>
    <int>2104</int>
    <str>dur</str>
    </comp:addev1>
    <comp:addev1 xmlns:comp="http://www.complex.net">
    <bool>0</bool>
    <bin><![CDATA[010203]]></bin>
    <dat>2005-05-06T00:00:00+00:00</dat>
    <dec>19.34</dec>
    <dur>P2Y4M</dur>
    <flt>3.245E+2</flt>
    <int>2104</int>
    <str>dat</str>
    </comp:addev1>
以下のリソースが作成されました。
メッセージ・セットおよびメッセージ・フローをデプロイします。

メッセージ・セットおよびメッセージ・フローのデプロイ

これは、複雑なメッセージのエンリッチメントを実行するシナリオの第 2 段階です。このトピックでは、メッセージ・セットおよびメッセージ・フローをデプロイし、ブローカーを使用してインスタンス・メッセージを実行する方法について説明します。
  1. addev1 という bar ファイルを作成します。
  2. メッセージ・セット MAPPING3_COMPLEX_messages およびメッセージ・フロー addev1 を bar ファイルに追加します。
  3. bar ファイルをブローカーにデプロイします。
  4. インスタンス文書を入力キューに入れます。
出力メッセージは、以下のようになります。
<comp:addev1s xmlns:comp="http://www.complex.net">
<bin><![CDATA[010203]]></bin>
<dat>2005-08-06T00:00:00-01:00</dat>
<dur>P2Y4M</dur>
<str>dat</str>
</comp:addev1s>
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ar25251_1_