このサンプルをインポートしてデプロイすると、以下のサンプルの実行の項の手順に従ってサンプルを実行できます。
サンプルの実行時に問題を検出した場合は、 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) のどちらかに経路指定できます。
サンプルを実行するには、次のようにします。
上記のステップがすべて正常に完了したら、サンプルは完了です。 メッセージ・フロー 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>