JavaComputeTransform サンプルの実行

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

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

また、このトピックには、入力テスト・メッセージの例と、それに対応する出力メッセージも示されているため、サンプルが正常に実行されたことを確認することができます。

入力テスト・メッセージ

このサンプルの実行に使用されるすべてのテスト・メッセージは、以下のフォーマットに基づいています。

<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>

サンプルの実行

このサンプルには、2 つの JavaCompute ノードが含まれています。 1 つは XPath 式を使用するもので (JavaComputeTransformXPath)、もう 1 つは Java プラグイン・ノード API を使用するものです (JavaComputeTransformNoXPath)。 このサンプルは、同じ結果になる 2 つの異なる方法を比較したものです。

以下の説明では、JavaComputeTransformXPath ノードを取り上げています。 JavaComputeTransformNoXPath ノードの場合は、該当する箇所で XPath を NoXPath に置き換える必要がありますが、それ以外は 全く同じように指示に従ってください。

このサンプルは、メッセージ・フロー JavaComputeTransformXPathFlow を使用します。 メッセージ・フローには JAVACOMPUTE.TRANSFORMXPATH.IN という 1 つの入力キューが含まれています。 このメッセージ・フローではメッセージを変換して 2 つの 出力キュー (JAVACOMPUTE.TRANSFORMXPATH.OUT および JAVACOMPUTE.TRANSFORMXPATH.FAILURE) のどちらかに経路指定できます。

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

  1. JavaComputeNodeSampleFlowProject の下のフォルダーを展開します。
  2. JavaComputeTransformXPathMessage.mbtest をダブルクリックして、テスト・クライアントでファイルを開きます。
  3. 「エンキュー」をクリックします。
  4. 「詳細プロパティー」パネルで「メッセージの送信」をクリックします。 メッセージが JAVACOMPUTE.TRANSFORMXPATH.IN キューに送られます。 メッセージ・フローは、JavaComputeTransformXPath ノードを使用してメッセージを 変換し、JAVACOMPUTE.TRANSFORMXPATH.OUT キューに経路指定します。
  5. この出力メッセージを表示するには、WebSphere Message Broker Toolkit に戻り、「メッセージ・フロー・テスト・イベント」パネルの「デキュー」をクリックします。
  6. 「詳細プロパティー」パネルの「メッセージの取得」をクリックして、出力メッセージの内容を表示します。
  7. このメッセージを、予期していた出力メッセージと比較します。

上記のステップがすべて正常に完了したら、サンプルは完了です。 メッセージ・フロー JavaComputeTransformXPathFlow の Java コードを参照し、メッセージの変換が行われた方法を調べてください。

予期される出力メッセージ

2 つのメッセージ・フローのどちらを使用するかにかかわらず、出力メッセージは以下の例のような形式になります。

<SaleEnvelope>
<SaleList>
<Statement Type="Monthly" Style="Full">
<Customer>
<Initials>KA</Initials>
<Name>Braithwaite</Name>
<Balance>00.50</Balance>
</Customer>
<Purchases>
<Article>
<Desc>Twister</Desc>
<Cost>0.48</Cost>
<Qty>01</Qty>
</Article>
<Article>
<Desc>The Times Newspaper</Desc>
<Cost>0.32</Cost>
<Qty>01</Qty>
</Article>
</Purchases>
<Amount>0.8</Amount>
</Statement>
<Statement Type="Monthly" Style="Full">
<Customer>
<Initials>TJ</Initials>
<Name>Dunnwin</Name>
<Balance>81.84</Balance>
</Customer>
<Purchases>
<Article>
<Desc>The Origin of Species</Desc>
<Cost>35.744</Cost>
<Qty>02</Qty>
</Article>
<Article>
<Desc>Microscope</Desc>
<Cost>57.92</Cost>
<Qty>01</Qty>
</Article>
</Purchases>
<Amount>129.408</Amount>
</Statement>
</SaleList>
</SaleEnvelope>

JavaCompute Node サンプルの実行に戻る