他の複数のフィールドからターゲット・フィールドをマップするためのメッセージ・フローの作成

他の複数のフィールドからターゲット・フィールドをマップするメッセージ・フローを作成する方法を説明します。また、対応するメッセージ・モデルおよびインスタンス文書も作成します。

始める前に
以下のトピックのステップを実行してください。
  1. 他のノードを含むメッセージ・フローの作成
これは、複雑なメッセージのエンリッチメントを実行するシナリオの第 3 段階です。
  1. COMPLEX メッセージ定義のネーム・スペース www.complex.net に、以下の構造を持つ addev2 というメッセージを作成します。
    addev2
       firstname             (xsd:string) local element
       lastname              (xsd:string) local element
       branch                 (xsd:string) local element
       accountno            (xsd:string) local element
       balance                (xsd:decimal) local element
       transvalue             local complex element, base type xsd:decimal
          transdir             (xsd:string) local attribute
  2. メッセージ・セット MAPPING3_COMPLEX_messages 内に、COMP2 という新規メッセージ定義ファイルを作成します。このファイルは、ターゲット・ネーム・スペース www.comp2.net を持ち、接頭部は c2 です。
  3. COMP2 メッセージ定義に、以下の構造を持つ addev2out というメッセージを作成します。
    addev2out
        accountdetails      (xsd:string) local element
        transvalue            (xsd:decimal) local element
        balance                (xsd:decimal) local element
  4. MQInput -> Mapping -> MQOutput というマッピングを含む addev2 というメッセージ・フローを作成します。
  5. マップを開き、addev2 をソース、addev2out をターゲットとして選択します。
  6. 以下のようにソースとターゲットを接続します。
    accountno --- accountdetails
    balance --- balance
    transvalue --- transvalue
  7. 「スプレッドシート」ペインで、「プロパティー」を展開し、以下の値を設定します。
    MessageType   |     'addev2out'
  8. accountdetails ターゲットを fn:concat($source/comp:addev2/accountno, $source/comp:addev2/branch, $source/comp:addev2/lastname, $source/comp:addev2/firstname) に設定します。
  9. ターゲット transvalue を右クリックして、「If」をクリックします。
  10. 条件を fn:true() から $source/comp:addev2/transvalue/@transdir = 'DEBIT' に変更します。
  11. transvalue を選択し、その「値」を $source/comp:addev2/transvalue * (-1) に設定します。
  12. condition ステートメントを右クリックし、Else をクリックします。
  13. ターゲット balance を右クリックして、「If」をクリックします。
  14. 条件を fn:true() から $source/comp:addev2/transvalue/@transdir = 'DEBIT' に変更します。
  15. balance を選択し、その「値」を $source/comp:addev2/balance - $source/comp:addev2/transvalue に設定します。
  16. condition ステートメントを右クリックして、「条件」をクリックします。
  17. condition ステートメントの値を、fn:true() から $source/comp:addev2/transvalue/@transdir = 'CREDIT' に変更します。
  18. 2 番目の条件ステートメントに続く balance を選択し、その「値」を $source/comp:addev2/balance + $source/comp:addev2/transvalue に設定します。
  19. 適切な RFH2 ヘッダーを持つ、以下の 2 つのインスタンス・メッセージを作成します。
    <comp:addev2 xmlns:comp="http://www.complex.net">
    <firstname>Brian</firstname>
    <lastname>Benn</lastname>
    <branch>52-84-02</branch>
    <accountno>567432876543</accountno>
    <balance>1543.56</balance>
    <transvalue transdir="DEBIT">25.28</transvalue>
    </comp:addev2>
    <comp:addev2 xmlns:comp="http://www.complex.net">
    <firstname>Brian</firstname>
    <lastname>Benn</lastname>
    <branch>52-84-02</branch>
    <accountno>567432876543</accountno>
    <balance>1543.56</balance>
    <transvalue transdir="CREDIT">25.28</transvalue>
    </comp:addev2>
以下のリソースが作成されました。
メッセージ・セットおよびメッセージ・フローをデプロイします。

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

これは、複雑なメッセージのエンリッチメントを実行するシナリオの第 4 段階です。このセクションでは、メッセージ・セットおよびメッセージ・フローをデプロイし、ブローカーを使用してインスタンス・メッセージを実行する方法について説明します。
  1. addev2 という BAR ファイルを作成します。
  2. メッセージ・セット MAPPING3_COMPLEX_messages およびメッセージ・フロー addev2 を BAR ファイルに追加します。
  3. BAR ファイルをブローカーにデプロイします。
  4. インスタンス文書を入力キューに入れます。
出力メッセージは、以下のようになります。
<c2:addev2out xmlns:c2="http://www.comp2.net"  xmlns:comp="http://www.complex.net">
<accountdetails>567432876543 52-84-02 Benn Brian</accountdetails>
<transvalue>-25.28</transvalue>
<balance>1518.28</balance>
</c2:addev2out>
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:44:30

ar25251_3_