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

始める前に
以下のトピックのステップを実行してください。
  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. 条件を右クリックし、「Else」をクリックします。
  13. ターゲット balance を右クリックして、「If」をクリックします。
  14. 条件を fn:true() から $source/comp:addev2/transvalue/@transdir = 'DEBIT' に変更します。
  15. balance を選択し、その「値」を $source/comp:addev2/balance - $source/comp:addev2/transvalue に設定します。
  16. 条件を右マウス・ボタンでクリックし、「条件」をクリックします。
  17. 条件を 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, 2006 最終更新: 08/21/2006
ar25251_3_