Das Beispielprogramm EDIFACT ausführen
In diesem Abschnitt wird erläutert, wie die Testnachrichten durch den Nachrichtenfluss von EDIFACT gesendet werden.
Die Eingabenachrichten
Im Beispielprogramm EDIFACT sind folgende fünf Testnachrichten enthalten.
- D.96A_INVOICE_1.enqueue
- D.96A_INVOICE_2.enqueue
- D.96A_INVOICE_3.enqueue
- D.96A_INVOICE_4.enqueue
- D.96A_INVOICE_missing_BGM.enqueue
Bei allen fünf Eingabenachrichten handelt es sich um INVOICE-Nachrichten. Die ersten vier Eingabenachrichten sind gültig.
Die fünfte Eingabenachricht ist ungültig, da das BGM-Feld in der Nachricht fehlt.
Beispielprogramm ausführen
Um das Beispielprogramm auszuführen, müssen Sie Nachrichten in die Eingabewarteschlangen stellen und aus den Ausgabenachrichtenwarteschlangen abrufen. Befolgen Sie nachfolgende Anweisungen:
- Stellen Sie eine Eingabenachricht in die Warteschlange EDIFACT_TO_XML_IN:
- Klicken Sie im EDFACT-Nachrichtenflussprojekt doppelt auf eine der in die Warteschlange eingereihten Dateien, um sie im Editor für die Warteschlange zu öffnen.
- Klicken Sie in diesem Editor auf In Warteschlange schreiben. Die Nachricht in dieser eingereihten Datei wird in die Warteschlange geschrieben.
Wenn Sie eine Nachricht in die Warteschlange EDIFACT_TO_XML_IN stellen, wird die Nachricht vom MQEmpfangsknoten EDIFACT_TO_XML_IN im ersten Nachrichtenfluss (mit dem Namen VALIDATINGEDIFACT2XML.msgflow) syntaktisch analysiert und anhand der Nachrichtengruppe auf Gültigkeit geprüft:
- Wenn die Nachricht eine gültige EDIFACT-Nachricht ist, wird sie an den Rechenknoten übergeben, der die EDIFACT-Nachricht in eine XML-Nachricht konvertiert.
Der Rechenknoten übergibt anschließend die Nachricht an den MQSendeknoten EDIFACT_TO_XML_OUT, der die Nachricht in die Warteschlange EDIFACT_TO_XML_OUT stellt.
- Wenn die Nachricht keine gültige EDIFACT-Nachricht ist, wird sie an den Knoten EDIFACT_FAIL weitergegeben, der die Nachricht in die Warteschlange EDIFACT_FAIL stellt.
- Rufen Sie die umgewandelte Nachricht mit Hilfe des Dialogs zum Abruf aus Warteschlangen aus der Warteschlange EDIFACT_TO_XML_OUT ab.
- Klicken Sie in der Funktionsleiste auf Nachricht aus einer Warteschlange abrufen.
- Geben Sie im Dialog zum Abruf aus Warteschlangen die Verbindungsdetails und EDIFACT_TO_XML_OUT im Feld Name der Warteschlange ein.
- Klicken Sie auf Aus Warteschlange lesen. Die umgewandelte Nachricht wird im Dialog zum Abruf von Nachrichten angezeigt. Bei der Nachricht handelt es sich jetzt um eine Nachricht im XML-Format.
- Klicken Sie auf Speichern unter.... Gehen Sie zu der Speicherposition, an der Sie die Nachricht speichern möchten, geben Sie einen Dateinamen ein, und klicken Sie auf Speichern.
- Reihen Sie Ihre gespeicherte Nachricht von Schritt 2 mit Hilfe des Editors zum Einreihen in die Warteschlange 'XML_TO_EDIFACT_IN' ein.
- Klicken Sie auf Datei > Neu > Datei für Nachrichteneinreihung in Warteschlange .
Daraufhin wird die neue Einreihungsdatei erstellt und im Einreihungseditor geöffnet.
- Geben Sie WBRK6_DEFAULT_QUEUE_MANAGER im Feld Name des WS-Managers ein.
- Geben Sie 2414 im Feld Port ein.
- Geben Sie XML_TO_EDIFACT_IN im Feld Name der Warteschlange ein.
- Klicken Sie auf Durchsuchen, und navigieren Sie anschließend an die Speicherposition, an der sich Ihre gespeicherte Nachricht von Schritt 2 befindet, und klicken Sie auf OK.
- Klicken Sie auf 'In Warteschlange schreiben'.
Wenn Sie die Nachricht in die Warteschlange XML_TO_EDIFACT_IN stellen, wird die Nachricht vom MQEmpfangsknoten XML_TO_EDIFACT_IN im zweiten Nachrichtenfluss (mit dem Namen VALIDATINGXML2EDIFACT.msgflow) syntaktisch analysiert und anhand der Nachrichtengruppe auf Gültigkeit überprüft:
- Wenn die Nachricht eine gültige XML-Nachricht ist, wird sie an den Rechenknoten übergeben, der die XML-Nachricht in eine EDIFACT-Nachricht konvertiert.
Der Rechenknoten übergibt anschließend die Nachricht an den MQSendeknoten XML_TO_EDIFACT_OUT, der die Nachricht in die Warteschlange XML_TO_EDIFACT_OUT stellt.
- Wenn die Nachricht keine gültige XML-Nachricht ist, wird die Nachricht an den Knoten EDIFACT_FAIL weitergegeben, der die Nachricht in die Warteschlange EDIFACT_FAIL stellt.
- Rufen Sie die Nachricht aus der Warteschlange XML_TO_EDIFACT_OUT ab.
Bei der Nachricht handelt es sich nun um eine EDIFACT-Nachricht.
Wenn keine Nachricht in der Warteschlange EDIFACT_TO_XML_OUT bzw. XML_TO_EDIFACT_OUT vorhanden
ist, lesen Sie den Abschnitt
Fehler diagnostizieren. Möglicherweise befindet sich die Nachricht
immer noch in der Eingabewarteschlange oder in der Warteschlange EDIFACT_FAIL bzw. in einer der
Systemwarteschlangen.
Die Nachricht 'D.96A_INVOICE_missing_BGM.enqueue'
Wenn Sie die Nachricht 'D.96A_INVOICE_missing_BGM.enqueue' durch den ersten Nachrichtenfluss senden, schlägt die Gültigkeitsprüfung auf dem MQEmpfangsknoten 'EDIFACT_TO_XML_IN' fehl, da das BGM-Feld in der Nachricht fehlt.
Der MQEmpfangsknoten 'EDIFACT_TO_XML_IN' reiht die Nachricht in die Warteschlange 'EDIFACT_FAIL' ein.
Zurück zum Beginn des Beispielprogramms