Esecuzione dell'esempio JavaComputeTransform

Una volta importato e parzialmente configurato questo esempio ed avendo quindi eseguito le appropriate istruzioni per la configurazione, è possibile eseguire l'esempio attenendosi alle istruzioni contenute nella sezione Esecuzione dell'esempio riportata di seguito.

Questo argomento include anche un messaggio di prova di input di esempio e un messaggio di output corrispondente, in modo da poter confermare il funzionamento dell'esempio.

Messaggio di prova di input

Tutti i messaggi di prova utilizzati nell'esecuzione di questo esempio si basano sul seguente formato:

<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>Giochi</Category>
<Price>00,30</Price>
<Quantity>01</Quantity>
</Item>
<Item>
<Code>02</Code>
<Code>03</Code>
<Code>01</Code>
<Description>Il quotidiano The Times</Description>
<Category>Libri e Media</Category>
<Price>00,20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>00,50</Balance>
<Currency>Sterlina</Currency>
</Invoice>
<Invoice>
<Initial>T</Initial>
<Initial>J</Initial>
<Surname>Dunnwin</Surname>
<Item>
<Code>04</Code>
<Code>05</Code>
<Code>01</Code>
<Description>L'origine delle specie</Description>
<Category>Libri e Media</Category>
<Price>22,34</Price>
<Quantity>02</Quantity>
</Item>
<Item>
<Code>06</Code>
<Code>07</Code>
<Code>01</Code>
<Description>Microscopio</Description>
<Category>Varie</Category>
<Price>36,20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>81,84</Balance>
<Currency>Euro</Currency>
</Invoice>
</SaleList>
<Trailer>
<CompletionTime>12.00.00</CompletionTime>
</Trailer>
</SaleEnvelope>

Esecuzione dell'esempio

Questo esempio contiene due nodi JavaCompute, uno dei quali utilizza espressioni XPath (JavaComputeTransformXPath) e l'altro utilizza l'API del nodo Plug-in Java (JavaComputeTransformNoXPath). L'intento è quello di offrire un confronto tra i due differenti approcci, che ottengono entrambi il medesimo risultato.

Le seguenti istruzioni si applicano al nodo JavaComputeTransformXPath - per il nodo JavaComputeTransformNoXPath, seguire le istruzioni esattamente nello stesso modo ma sostituire XPath con NoXPath dove è appropriato.

Questo esempio utilizza il flusso di messaggi JavaComputeTransformXPathFlow. Contiene una coda di input denominata JAVACOMPUTE.TRANSFORMXPATH.IN ed il flusso di messaggi può convertire e instradare il messaggio ad una delle due code di output (JAVACOMPUTE.TRANSFORMXPATH.OUT e  JAVACOMPUTE.TRANSFORMXPATH.FAILURE).

Per eseguire l'esempio:

  1. Passare alla vista Broker Application Development nell'IBM WebSphere Message Broker Toolkit.
  2. Aprire il file di accodamento del messaggio di prova, JavaComputeTransformXPathMessage.
  3. Fare clic su Scrivi nella coda. Un messaggio viene inviato alla coda JAVACOMPUTE.TRANSFORMXPATH.IN Il flusso di messaggi converte il messaggio utilizzando il nodo JavaComputeTransformXPath e lo instrada alla coda JAVACOMPUTE.TRANSFORMXPATH.OUT.
  4. Per controllare che il messaggio abbia raggiunto la coda corretta utilizzare WebSphere MQ Explorer.
    1. Avviare WebSphere MQ Explorer.
    2. Espandere le cartelle nel gestore code WBRK6_DEFAULT_QUEUE_MANAGER e selezionare Queues.
    3. Quando si aggiorna WebSphere MQ Explorer assicurarsi che sia selezionata la cartella Queues e non il nome effettivo di una coda. Se si seleziona un nome coda, non tutte le code visualizzate verranno aggiornate.
  5. Aggiornare la visualizzazione della coda per visualizzare il numero corrente di messaggi su ciascuna coda. Dovrebbe venire visualizzato un messaggio nella coda JAVACOMPUTE.TRANSFORMXPATH.OUT.
  6. Per visualizzare questo messaggio di output, tornare a IBM WebSphere Message Broker Toolkit e fare clic su Richiama messaggio da una coda nella barra degli strumenti.
  7. Immettere un nome Gestore code WBRK6_DEFAULT_QUEUE_MANAGER ed un Nome coda JAVACOMPUTE.TRANSFORMXPATH.OUT.
  8. Fare clic su Leggi dalla coda per visualizzare il contenuto del messaggio di output.
  9. Confrontarlo con il messaggio di output previsto.

Se tutti i passi riportati sopra sono riusciti, l'esempio è completato. Esaminare il codice Java nel flusso di messaggi JavaComputeTransformXPathFlow per verificare come si è realizzata la conversione del messaggio.

Messaggio di output previsto

Se si utilizza il flusso di messaggi JavaComputeTransformNoXPathFlow, il messaggio di output è formattato come il seguente esempio:

<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>Il quotidiano The Times</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>L'origine delle specie</Desc>
<Cost>35,744</Cost>
<Qty>02</Qty>
</Article>
<Article>
<Desc>Microscopio</Desc>
<Cost>57,92</Cost>
<Qty>01</Qty>
</Article>
</Purchases>
<Amount>129,40800000000002</Amount>
</Statement>
</SaleList>
</Parent>

Se si utilizza il flusso di messaggi JavaComputeTransformXPathFlow, il messaggio di output è formattato come il seguente esempio:

<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>Il quotidiano The Times</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>L'origine delle specie</Desc>
<Cost>35,744</Cost>
<Qty>02</Qty>
</Article>
<Article>
<Desc>Microscopio</Desc>
<Cost>57,92</Cost>
<Qty>01</Qty>
</Article>
</Purchases>
<Amount>129,408</Amount>
</Statement>
</SaleList>
</SaleEnvelope>

Si noti che potrebbero esservi delle leggere differenze tra l'arrotondamento dei messaggi di output JavaComputeTransformXPath e JavaComputeTransformNoXPath, perciò è prevedibile che compaia 0,32000000000000006 invece di 0,32 riportato sopra.

icona Pagina principaleTorna ad Esecuzione dell'esempio Nodo JavaCompute