Ejecutar el ejemplo EDIFACT
En este tema se explica cómo transferir los mensajes de prueba a través del flujo de mensajes
EDIFACT.
Los mensajes de entrada
El ejemplo EDIFACT contiene los cinco mensajes de prueba siguientes:
- D.96A_INVOICE_1.mbtest
- D.96A_INVOICE_2.mbtest
- D.96A_INVOICE_3.mbtest
- D.96A_INVOICE_4.mbtest
- D.96A_INVOICE_missing_BGM.mbtest
Los cinco mensajes de entrada son mensajes INVOICE. Los primeros cuatro mensajes de entrada son válidos.
El quinto mensaje de entrada no
es válido: falta el campo BGM del mensaje.
Ejecutar el ejemplo
Para ejecutar el ejemplo debe transferir mensajes a las colas de entrada y obtener mensajes de las colas de
salida. Puede utilizar la
sección Extraer de la cola del Cliente de prueba para recuperar los
mensajes de las colas de salida. Si el mensaje no está en la cola de
salida esperada, cambie el nombre de la cola de salida por el nombre de la
cola de anomalías. Siga las instrucciones que se indican a continuación
para ejecutar el ejemplo:
- Ponga uno de los mensajes de entrada en la cola
EDIFACT_TO_XML_IN:
- En la vista Desarrollode intermediario, expandael proyecto EDIFACT Message Flows.
Efectúe una doble pulsación en los archivos .mbtest para abrirlos en el Cliente de prueba.
- En el Cliente de prueba, pulse Enviar
mensaje. El mensaje del archivo
.mbtest se graba en la cola.
Cuando pone un mensaje en la cola EDIFACT_TO_XML_IN, el nodo
MQInput EDIFACT_TO_XML_IN en el primer flujo de mensajes (llamado
VALIDATINGEDIFACT2XML.msgflow) analiza el mensaje y lo valida en relación
al conjunto de mensajes:
- Si el mensaje es un mensaje EDIFACT válido, se
pasa al nodo Compute, que convierte el mensaje EDIFACT en un mensaje XML. A
continuación, el nodo Compute pasa el mensaje al nodo MQOutput
EDIFACT_TO_XML_OUT, que pone el mensaje en la cola EDIFACT_TO_XML_OUT.
- Si el mensaje no es un mensaje EDIFACT válido, dicho mensaje se pasa al nodo EDIFACT_FAIL, que lo coloca en la
cola EDIFACT_FAIL.
- Obtenga el mensaje transformado de la cola EDIFACT_TO_XML_OUT
utilizando Extraer de la cola:
- En el Cliente de prueba, pulse Extraer de la cola.
- Pulse Obtener mensaje para leer un
mensaje de la cola EDIFACT_TO_XML_OUT. El
mensaje transformado está ahora en formato XML.
- Asegúrese de que Origen esté
seleccionado bajo Propiedades detalladas. Pulse
el botón derecho del ratón sobre el contenido del mensaje en el panel
Origen y pulse Seleccionar todo.
- Para realizar una copia del mensaje, pulse con el botón derecho del ratón el contenido del mensaje en el panel Origen y pulse Copiar.
- Coloque el mensaje que ha copiado en el Paso 2 en la cola XML_TO_EDIFACT_IN utilizando el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en cola.
- En el panel Origen, pulse el botón derecho del ratón en el mensaje
de origen y pulse Seleccionar todo. A continuación, pulse el botón derecho del ratón y seleccione Pegar para sustituir el mensaje de origen existente.
- En el campo Nombre de cola, escriba XML_TO_EDIFACT_IN.
- Pulse Enviar mensaje para colocar el
mensaje copiado en la cola XML_TO_EDIFACT_IN.
Cuando pone el mensaje en la cola XML_TO_EDIFACT_IN, el nodo
MQInput XML_TO_EDIFACT_IN en el segundo flujo de mensajes (llamado
VALIDATINGXML2EDIFACT.msgflow) analiza el mensaje y lo valida en relación
al conjunto de mensajes:
- Si el mensaje es un mensaje XML válido, se pasa al nodo
Compute, que convierte el mensaje XML en un mensaje EDIFACT. A continuación, el nodo Compute pasa el mensaje al nodo XML_TO_EDIFACT_OUT
MQOutput que pone el mensaje en la cola XML_TO_EDIFACT_OUT.
- Si el mensaje no es un mensaje XML válido, se pasa al nodo EDIFACT_FAIL,
que lo coloca en la cola EDIFACT_FAIL.
- En el Cliente de prueba, pulse Extraer de la cola.
- En el campo Nombre de cola, escriba XML_TO_EDIFACT_OUT.
- Pulse Obtener mensaje para obtener el
mensaje de la cola XML_TO_EDIFACT_OUT.
Ahora el mensaje es un mensaje EDIFACT.
Si no hay ningún mensaje en la cola EDIFACT_TO XML_OUT o
XML_TO_EDIFACT_OUT, consulte Resolución de problemas cuando se ejecutan ejemplos en la documentación de WebSphere Message Broker. Es posible que el mensaje todavía esté en la cola de entrada, la cola EDIFACT_FAIL, o en una de las colas del sistema.
El mensaje D.96A_INVOICE_missing_BGM.mbtest
Cuando coloca el mensaje D.96A_INVOICE_missing_BGM.mbtest
en el primer flujo de mensajes, la validación en el nodo MQInput
EDIFACT_TO_XML_IN falla porque falta el campo BGM en el mensaje. El nodo MQInput
EDIFACT_TO_XML_IN coloca el mensaje en la cola EDIFACT_FAIL.
Volver a la página inicial del ejemplo