Ejecutar el ejemplo de Salida de archivo

Después de haber importado y desplegado el ejemplo, puede ejecutarlo siguiendo las instrucciones de Ejecutar el ejemplo.

Se proporciona un mensaje de prueba de entrada de ejemplo y los mensajes de salida correspondientes (uno generado por el nodo HTTPReply y uno generado por el nodo FileOutput) para que el usuario pueda confirmar que el ejemplo ha funcionado.

Si encuentra cualquier tipo de problema al ejecutar el ejemplo, consulte Resolución de problemas cuando se ejecutan ejemplos en la documentación de WebSphere Message Broker.

Mensaje de prueba de entrada

El mensaje de prueba que se utiliza para ejecutar este ejemplo es un mensaje SOAP que representa una factura de venta. El mensaje se basa en el siguiente formato:

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

Ejecutar el ejemplo

Este ejemplo utiliza el flujo de mensajes FileOutputNodeSampleFlow.

Para ejecutar el ejemplo:

  1. En la vista Desarrollo de intermediario, expanda el proyecto FileOutputNodeSampleFlowProject.
  2. Efectúe una doble pulsación en FileOutputNodeSample_InputMessage.mbtest para que se abra el mensaje en el Cliente de prueba.
  3. Pulse Enviar mensaje en el panel Propiedades detalladas y luego Finalizar en la ventana Ubicación de despliegue (no hay nada desplegado en este momento). Se envía un mensaje al URL en el que escucha el nodo HTTPReply. El URL es http://localhost:7080/FileOutputNodeSample. El flujo de mensajes recibe el mensaje SOAP a través de HTTP y actualiza la descripción y el precio del último artículo de la factura de venta. El mensaje se graba en un archivo y se envía una respuesta a través de HTTP.
  4. Para comprobar que el mensaje actualizado se ha devuelto satisfactoriamente a través de HTTP:
    1. Vea el mensaje de respuesta en el panel Propiedades detalladas, utilizando la vista Estructura XML o la vista Origen.
    2. Compare este mensaje con el mensaje de salida esperado del nodo HTTPReply, que se detalla más adelante en este tema.
  5. Para comprobar que el mensaje actualizado se ha enviado a un archivo del directorio especificado:
    1. Vaya al sistema de archivos y mire en el directorio adecuado. Por ejemplo:
      • En Windows, busque en este directorio: %MQSI_FILENODES_ROOT_DIRECTORY%\FileOutputNodeSample
      • En Linux, busque en este directorio: $MQSI_FILENODES_ROOT_DIRECTORY/FileOutputNodeSample
    2. Abra el archivo, FileOutputNodeSample_OutputMessage.xml, en el editor de texto que desee.
    3. Compare este archivo con el mensaje de salida esperado del nodo FileOutput que se detalla más adelante en este tema.

Si todos los pasos anteriores se han realizado correctamente, el ejemplo se ha completado. Mire en los nodos del flujo de mensajes FileOutputNodeSampleFlow para ver hasta qué punto se han obtenido los resultados.

Mensaje de salida esperado del nodo HTTPReply

El mensaje de salida del nodo HTTPReply es similar al mensaje de entrada pero se ha actualizado de tres maneras:

  1. El primer elemento <?xml version="1.0" encoding="UTF-8"?> se ha eliminado del mensaje.
  2. La descripción y el precio del último artículo se han actualizado. La descripción se ha actualizado a "Deluxe Microscope" y el precio se ha actualizado a "44,00".
  3. El elemento con espacio de nombre <samp:SaleListMessage> se ha sustituido por <samp:SaleListReplyMessage>.

El código siguiente muestra el mensaje esperado, formateado con retornos de carro para mejorar la legibilidad.

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

Mensaje de salida esperado del nodo FileOutput

El mensaje de salida del nodo FileOutput es similar al mensaje de entrada pero se ha actualizado de tres maneras:

  1. El sobre SOAP se ha eliminado del mensaje.
  2. La descripción y el precio del último artículo se han actualizado. La descripción se ha actualizado a "Deluxe Microscope" y el precio se ha actualizado a "44,00".
  3. El elemento con espacio de nombres <samp:SaleListMessage> se ha sustituido por <NS1:SaleListReplyMessage xmlns:NS1="http://www.samplemessage.broker.hursley.ibm.com">.

El código siguiente muestra el mensaje esperado, formateado con retornos de carro para mejorar la legibilidad.

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

Volver a la página inicial del ejemplo