Mustercode EDIFACT ausführen
In diesem Abschnitt wird erläutert, wie die Testnachrichten durch den Nachrichtenfluss von EDIFACT gesendet werden.
Die Eingabenachrichten
Im Mustercode EDIFACT sind folgende fünf Testnachrichten enthalten:
- 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
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.
Mustercode ausführen
Um den Mustercode auszuführen, müssen Sie Nachrichten in die
Eingabewarteschlangen stellen und aus den Ausgabenachrichtenwarteschlangen abrufen. Die Nachrichten können über den Testclient-Bereich 'Aus Warteschlange entfernen' aus den Ausgabewarteschlangen abgerufen werden. Falls sich die Nachricht nicht in der erwarteten Ausgabewarteschlange befindet, geben Sie den Namen der Fehlerwarteschlange an. Befolgen Sie die nachstehend aufgeführten Anweisungen zur Ausführung des Mustercodes:
- Stellen Sie eine Eingabenachricht in die Warteschlange EDIFACT_TO_XML_IN:
- Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'EDIFACT Message Flows' (EDIFACT-Nachrichtenflüsse).
Klicken Sie doppelt auf eine der .mbtest-Dateien,
um sie im Testclient zu öffnen.
- Klicken Sie im Testclient auf Nachricht senden. Die Nachricht in der Datei .mbtest wird in die Warteschlange geschrieben.
Wenn Sie eine Nachricht in die Warteschlange EDIFACT_TO_XML_IN stellen, wird die Nachricht vom MQInput-Knoten EDIFACT_TO_XML_IN im ersten Nachrichtenfluss (mit dem Namen VALIDATINGEDIFACT2XML.msgflow) syntaktisch analysiert und anhand des Nachrichtensatzes 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 MQOutput-Knoten 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 mithilfe der Funktion 'Aus Warteschlange entfernen' aus der Warteschlange EDIFACT_TO_XML_OUT ab.
- Klicken Sie im Testclient auf Aus Warteschlange entfernen.
- Klicken Sie auf Nachricht abrufen, um eine Nachricht aus der Warteschlange
EDIFACT_TO_XML_OUT zu lesen. Bei der umgewandelten Nachricht handelt es sich jetzt um eine Nachricht im XML-Format.
- Stellen Sie sicher, dass unter Ausführliche Eigenschaften die Option Quelle ausgewählt ist. Klicken Sie mit der rechten Maustaste auf die Nachricht in der Anzeige 'Quelle' und klicken Sie auf Alle auswählen.
- Für eine Kopie der Nachricht klicken Sie mit der rechten Maustaste auf den Inhalt der Nachricht im Teilfenster und anschließend auf Kopieren.
- Reihen Sie Ihre kopierte Nachricht von Schritt 2 mithilfe des Testclients zum Einreihen in die Warteschlange 'XML_TO_EDIFACT_IN' ein.
- Klicken Sie im Testclient auf In Warteschlange
einreihen.
- Klicken Sie im Teilfenster 'Quelle' mit der rechten Maustaste auf die Quellennachricht und klicken Sie anschließend auf Alle auswählen. Klicken Sie erneut mit der rechten Maustaste und wählen Sie
Einfügen aus, um die vorhandene Quellennachricht zu ersetzen.
- Geben Sie XML_TO_EDIFACT_IN im Feld Name der Warteschlange ein.
- Klicken Sie auf Nachricht senden, um die kopierte Nachricht in die Warteschlange 'XML_TO_EDIFACT_IN' zu stellen.
Wenn Sie die Nachricht in die Warteschlange XML_TO_EDIFACT_IN stellen, wird die Nachricht vom MQInput-Knoten XML_TO_EDIFACT_IN im zweiten Nachrichtenfluss (mit dem Namen VALIDATINGXML2EDIFACT.msgflow) syntaktisch analysiert und anhand des Nachrichtensatzes 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 MQOutput-Knoten 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.
- Klicken Sie im Testclient auf Aus Warteschlange entfernen.
- Geben Sie XML_TO_EDIFACT_OUT im Feld Name der Warteschlange ein.
- Klicken Sie auf Nachricht abrufen, um die Nachricht aus der Warteschlange 'XML_TO_EDIFACT_OUT' abzurufen.
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 Resolving problems when running samples (Probleme beim Ausführen von Mustercodes beheben) in der WebSphere Message Broker-Dokumentation. Möglicherweise befindet sich die Nachricht immer noch in der Eingabewarteschlange, der Warteschlange EDIFACT_FAIL oder in einer der Systemwarteschlangen.
Die Nachricht 'D.96A_INVOICE_missing_BGM.mbtest'
Wenn Sie die Nachricht 'D.96A_INVOICE_missing_BGM.mbtest' durch den ersten Nachrichtenfluss senden, schlägt die Gültigkeitsprüfung auf dem MQInput-Knoten 'EDIFACT_TO_XML_IN' fehl, da das BGM-Feld in der Nachricht fehlt. Der MQInput-Knoten 'EDIFACT_TO_XML_IN' reiht die Nachricht in die Warteschlange 'EDIFACT_FAIL' ein.
Zurück zum Beginn des
Mustercodes