File Output サンプルの実行

このサンプルをインポートしてデプロイすると、以下のサンプルの実行の手順に従ってサンプルを実行できます。

入力テスト・メッセージの例と、それに対応する出力メッセージ (1 つは HTTPReply ノードによって生成され、もう 1 つは FileOutput ノードによって生成される) も示されているため、サンプルが機能したことを確認できます。

サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。

入力テスト・メッセージ

このサンプルを実行する際に使用されるテスト・メッセージは、売上送り状を表す SOAP メッセージです。 このメッセージは、以下のフォーマットに基づいています。

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:samp="http://www.samplemessage.broker.hursley.ibm.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<samp:SaleListMessage>
<SaleEnvelope>
<Header>
<SaleListCount>1</SaleListCount>
</Header>
<SaleList>
<Invoice>
<Initial>K</Initial>
<Initial>A</Initial>
<Surname>Braithwaite</Surname>
<Item>
<Code>00</Code>
<Code>01</Code>
<Code>02</Code>
<Description>Twister</Description>
<Category>Games</Category>
<Price>00.30</Price>
<Quantity>01</Quantity>
</Item>
<Item>
<Code>02</Code>
<Code>03</Code>
<Code>01</Code>
<Description>The Times Newspaper</Description>
<Category>Books and Media</Category>
<Price>00.20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>00.50</Balance>
<Currency>Sterling</Currency>
</Invoice>
<Invoice>
<Initial>T</Initial>
<Initial>J</Initial>
<Surname>Dunnwin</Surname>
<Item>
<Code>04</Code>
<Code>05</Code>
<Code>01</Code>
<Description>The Origin of Species</Description>
<Category>Books and Media</Category>
<Price>22.34</Price>
<Quantity>02</Quantity>
</Item>
<Item>
<Code>06</Code>
<Code>07</Code>
<Code>01</Code>
<Description>Microscope</Description>
<Category>Miscellaneous</Category>
<Price>36.20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>81.84</Balance>
<Currency>Euros</Currency>
</Invoice>
</SaleList>
<Trailer>
<CompletionTime>12.00.00</CompletionTime>
</Trailer>
</SaleEnvelope>
</samp:SaleListMessage>
</soap:Body>
</soap:Envelope>

サンプルの実行

このサンプルは、メッセージ・フロー FileOutputNodeSampleFlow を使用します。

サンプルを実行するには、次のようにします。

  1. 「ブローカー開発」ビューで、FileOutputNodeSampleFlowProject を展開します。
  2. FileOutputNodeSample_InputMessage.mbtest をダブルクリックして、テスト・クライアントでメッセージを開きます。
  3. 「詳細プロパティー」パネルで「メッセージの送信」 をクリックし、「デプロイメントのロケーション」ウィンドウの「終了」 をクリックします(この時点では何もデプロイされません)。 HTTPReply ノードが listen している URL にメッセージが送られます。URL は http://localhost:7080/FileOutputNodeSample です。 メッセージ・フローは HTTP を介して SOAP メッセージを受け取り、売上送り状の最後の項目の説明と価格を更新します。メッセージがファイルに書き込まれ、応答が HTTP を介して送り返されます。
  4. HTTP を介して更新メッセージが正しく送り返されたことを確認するには、以下のようにします。
    1. XML 構造ビューアーまたはソース・ビューアーのいずれかを使用して、「詳細プロパティー」パネルで応答メッセージを表示します。
    2. このメッセージを、このトピックの後半で詳しく説明されている HTTPReply ノードから予期される出力メッセージと比較してください。
  5. 更新メッセージが指定のディレクトリー内のファイルに正しく出力されたことを確認するには、以下のようにします。
    1. ファイル・システムに移動して、適切なディレクトリーを参照します。以下に例を示します。
      • Windowsの場合、以下のディレクトリーを参照します。%MQSI_FILENODES_ROOT_DIRECTORY%\FileOutputNodeSample
      • Linux の場合、以下のディレクトリーを参照します。$MQSI_FILENODES_ROOT_DIRECTORY/FileOutputNodeSample
    2. 選択したテキスト・エディターでファイル FileOutputNodeSample_OutputMessage.xml を開きます。
    3. このファイルを、このトピックの後半で詳しく説明されている FileOutput ノードから予想される出力メッセージと比較してください。

上記のステップがすべて正常に完了したら、サンプルは完了です。 メッセージ・フロー FileOutputNodeSampleFlow 内のノードを調べて、どのように結果が生じたかを確認します。

HTTPReply ノードから予想される出力メッセージ

HTTPReply ノードからの出力メッセージは入力メッセージと類似していますが、以下の 3 つの点で更新されています。

  1. 最初のエレメント <?xml version="1.0" encoding="UTF-8"?> がメッセージから削除されています。
  2. 最後の項目の説明と価格が更新されています。説明は「Deluxe Microscope」に更新され、価格は「44.00」に更新されています。
  3. ネームスペース付きエレメント <samp:SaleListMessage><samp:SaleListReplyMessage> に置き換えられました。

以下のコードは予想されるメッセージを示しています。読みやすくするために復帰を使用してフォーマット設定しています。

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:samp="http://www.samplemessage.broker.hursley.ibm.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<samp:SaleListReplyMessage>
<SaleEnvelope>
<Header>
<SaleListCount>1</SaleListCount>
</Header>
<SaleList>
<Invoice>
<Initial>K</Initial>
<Initial>A</Initial>
<Surname>Braithwaite</Surname>
<Item>
<Code>00</Code>
<Code>01</Code>
<Code>02</Code>
<Description>Twister</Description>
<Category>Games</Category>
<Price>00.30</Price>
<Quantity>01</Quantity>
</Item>
<Item>
<Code>02</Code>
<Code>03</Code>
<Code>01</Code>
<Description>The Times Newspaper</Description>
<Category>Books and Media</Category>
<Price>00.20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>00.50</Balance>
<Currency>Sterling</Currency>
</Invoice>
<Invoice>
<Initial>T</Initial>
<Initial>J</Initial>
<Surname>Dunnwin</Surname>
<Item>
<Code>04</Code>
<Code>05</Code>
<Code>01</Code>
<Description>The Origin of Species</Description>
<Category>Books and Media</Category>
<Price>22.34</Price>
<Quantity>02</Quantity>
</Item>
<Item>
<Code>06</Code>
<Code>07</Code>
<Code>01</Code>
<Description>Deluxe Microscope</Description>
<Category>Miscellaneous</Category>
<Price>44.00</Price>
<Quantity>01</Quantity>
</Item>
<Balance>81.84</Balance>
<Currency>Euros</Currency>
</Invoice>
</SaleList>
<Trailer>
<CompletionTime>12.00.00</CompletionTime>
</Trailer>
</SaleEnvelope>
</samp:SaleListReplyMessage>
</soap:Body>
</soap:Envelope>

FileOutput ノードから予想される出力メッセージ

FileOutput ノードからの出力メッセージは入力メッセージと類似していますが、以下の 3 つの点で更新されています。

  1. SOAP エンベロープがメッセージから削除されています。
  2. 最後の項目の説明と価格が更新されています。説明は「Deluxe Microscope」に更新され、価格は「44.00」に更新されています。
  3. ネームスペース付きエレメント <samp:SaleListMessage><NS1:SaleListReplyMessage xmlns:NS1="http://www.samplemessage.broker.hursley.ibm.com"> に置き換えられました。

以下のコードは予想されるメッセージを示しています。読みやすくするために復帰を使用してフォーマット設定しています。

<?xml version="1.0" encoding="UTF-8"?>
<NS1:SaleListReplyMessage xmlns:NS1="http://www.samplemessage.broker.hursley.ibm.com">
<SaleEnvelope>
<Header>
<SaleListCount>1</SaleListCount>
</Header>
<SaleList>
<Invoice>
<Initial>K</Initial>
<Initial>A</Initial>
<Surname>Braithwaite</Surname>
<Item>
<Code>00</Code>
<Code>01</Code>
<Code>02</Code>
<Description>Twister</Description>
<Category>Games</Category>
<Price>00.30</Price>
<Quantity>01</Quantity>
</Item>
<Item>
<Code>02</Code>
<Code>03</Code>
<Code>01</Code>
<Description>The Times Newspaper</Description>
<Category>Books and Media</Category>
<Price>00.20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>00.50</Balance>
<Currency>Sterling</Currency>
</Invoice>
<Invoice>
<Initial>T</Initial>
<Initial>J</Initial>
<Surname>Dunnwin</Surname>
<Item>
<Code>04</Code>
<Code>05</Code>
<Code>01</Code>
<Description>The Origin of Species</Description>
<Category>Books and Media</Category>
<Price>22.34</Price>
<Quantity>02</Quantity>
</Item>
<Item>
<Code>06</Code>
<Code>07</Code>
<Code>01</Code>
<Description>Deluxe Microscope</Description>
<Category>Miscellaneous</Category>
<Price>44.00</Price>
<Quantity>01</Quantity>
</Item>
<Balance>81.84</Balance>
<Currency>Euros</Currency>
</Invoice>
</SaleList>
<Trailer>
<CompletionTime>12.00.00</CompletionTime>
</Trailer>
</SaleEnvelope>
</NS1:SaleListReplyMessage>

サンプルのホームに戻る