이 샘플을 들여와 부분적으로 설치하고 적절한 설치 지시사항을 수행한 경우, 아래 샘플 실행 절에 있는 지시사항에 따라 샘플을 실행할 수 있습니다.
또한 이 주제에는 샘플이 수행되었는지 확인할 수 있도록 입력 테스트 메시지 예와 해당되는 출력 메시지도 들어 있습니다.
이 샘플을 실행하는 데 사용된 모든 테스트 메시지는 다음 형식을 기본으로 합니다.
<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>
이 샘플에는 두 개의 JavaCompute 노드가 들어 있으며, 하나는 XPath 표현식(JavaComputeTransformXPath)을 사용하고, 다른 하나는 Java 플러그인 노드 API(JavaComputeTransformNoXPath)를 사용합니다. 이는 서로 다른 두 가지 접근 방법을 비교하기 위한 것이지만 두 결과는 모두 동일합니다.
다음 지시사항에서는 JavaComputeTransformXPath 노드에 대해 설명합니다. JavaComputeTransformNoXPath 노드의 경우, 동일한 방식으로 정확히 지시사항에 따르지만 해당 위치에서 XPath를 NoXPath로 바꾸십시오.
이 샘플에서는 JavaComputeTransformXPathFlow 메시지 플로우를 사용합니다. 이 메시지 플로우에는 JAVACOMPUTE.TRANSFORMXPATH.IN 입력 큐가 들어 있으며, 메시지 플로우는 메시지를 변환하여 두 개의 출력 큐(JAVACOMPUTE.TRANSFORMXPATH.OUT 및 JAVACOMPUTE.TRANSFORMXPATH.FAILURE) 중 하나로 라우트합니다.
샘플을 실행하려면 다음을 수행하십시오.
위의 모든 단계가 수행되면 샘플이 완료됩니다. JavaComputeTransformXPathFlow 메시지 플로우에 있는 Java 코드를 살펴보고 메시지 변환 방법을 확인하십시오.
JavaComputeTransformNoXPathFlow 메시지 플로우를 사용하는 경우 출력 메시지는 다음 예와 같이 형식화됩니다.
<Parent>
<Statement Type="Monthly">
<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">
<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.40800000000002</Amount>
</Statement>
</SaleList>
</Parent>
JavaComputeTransformXPathFlow 메시지를 사용하는 경우 출력 메시지는 다음 예와 같이 형식화됩니다.
<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>
JavaComputeTransformXPath와 JavaComputeTransformNoXPath 출력 메시지의 반올림에는 약간의 차이가 있습니다. 따라서 위의 경우 0.32 대신 0.32000000000000006을 사용할 수 있습니다.