Beispielnachricht CSV_5 ausführen

Dieses Beispielprogramm baut auf dem Beispielprogramm 'CSV Message 4' auf und fügt der Nachricht Basisunterstützung für die Inaktivierung von Escape-Zeichen durch Verwendung von Anführungszeichen im CSV-Format in Feldern mit Zeichenfolgen hinzu. Dies bedeutet, dass reservierte Zeichen, wie z. B. das Komma (,) in Daten verwendet werden können. Dieses Beispielprogramm führt eine Syntaxanalyse von Feldern mit und ohne Anführungszeichen durch und unterstützt die Verwendung von Kommas in den Daten für Felder, die in Anführungszeichen gesetzt sind. Die Anführungszeichen jedoch Teil der Geschäftsdaten, und die Verwendung von Anführungszeichen in den Daten für Felder, die in Anführungszeichen gesetzt sind, wird nicht unterstützt. Ausführlichere und komplexere Erläuterungen zur Inaktivierung von Escape-Zeichen durch Verwendung von Anführungszeichen im CSV-Format finden Sie in den Abschnitten über das Beispielprogramm CSV_6 und das Beispielprogramm CSV_7.  Die Eingabenachricht enthält einen einzelnen Headersatz gefolgt von einem einzelnen sich wiederholenden CSV-Datensatz gefolgt von einem einzelnen Trailer-Datensatz. Diese Nachricht wird mit Hilfe der Nachrichtengruppe des Beispielprogramms syntaktisch analysiert und als XML-Nachricht geschrieben.

In diesem Abschnitt finden Sie Anweisungen zum Ausführen des Beispielprogramms. Darüber hinaus werden als Beispiel eine Eingabetestnachricht und eine entsprechende erwartete Ausgabenachricht angegeben, damit Sie überprüfen können, ob das Beispiel erfolgreich war.

Eine ausführliche Erläuterung des in diesem Beispielprogramm verwendeten Nachrichtenmodells finden Sie unter   Das CSV-Nachrichtenbeispiel testen

Eingabetestnachricht

Die Testnachricht, die zur Steuerung dieses Beispielprogramms verwendet wird, basiert auf folgendem Format:

2005-04-01,X123456IB7,customer details<CRLF>
Bob,Dyson,"House of the Rising Sun, 1, Desolation Row",Orlando,FL,32802,HYT-457-AX<CRLF>
Jimmy,Pace,"1002, Misty Mountain Drive",New York,NY,10001,ADU-239-BX<CRLF>
Ralf,McCartney,67 Penny Lane,Las Vegas,NV,89125,JUI-854-CF<CRLF>
Elvis,John,3 Yellow Brick Road,Chicago,IL,60699,GGY-118-AS<CRLF>
Rick,Clayton,"461, Ocean Boulevard",Miami,FL,33101,LOP-212-TY<CRLF>
5

Dabei steht '<CRLF>' für die Zeichen mit den hexadezimalen ASCII-Codepunkten x'0D' und x'0A'.

Das Beispielprogramm ausführen

Für dieses Beispielprogramm wird der Nachrichtenfluss 'CSV2XML' verwendet. Er enthält viele Eingabeknoten, doch für dieses Beispielprogramm wird nur der Knoten mit der Warteschlange 'CSV2XML.IN5' verwendet. Der Nachrichtenfluss gibt die Nachricht über einen Rechenknoten weiter, der das Format in XML ändert und die Nachricht dann ausgibt. Dadurch wird die CSV-Nachricht in einer Syntaxanalyse in eine logische Baumstruktur umgewandelt und dann im XML-Format geschrieben. Die XML-Ausgabenachricht stellt die logische Struktur der syntaktisch analysierten Nachricht dar.

Gehen Sie folgendermaßen vor, um das Beispielprogramm auszuführen:

  1. Wechseln Sie im Message Brokers Toolkit zur Perspektive 'Brokeranwendungsentwicklung'.
  2. Öffnen Sie folgende ENQUEUE-Datei mit der Testnachricht: 'CSV_msg5.enqueue'.
  3. Klicken Sie auf 'In Warteschlange schreiben'. Es wird eine Nachricht an die Warteschlange 'CSV2XML.IN1' gesendet.
Der Nachrichtenfluss führt eine Syntaxanalyse der CSV-Nachricht aus und gibt dann dieselbe logische Nachricht im XML-Format aus.
In der Warteschlange 'CSV2XML.OUT' wird eine Nachricht angezeigt.
  1. Um diese Ausgabenachricht anzuzeigen, kehren Sie zum Message Brokers Toolkit zurück, und klicken Sie in der Funktionsleiste auf Nachricht aus Warteschlange abrufen.
  2. Geben Sie als WS-Managernamen 'WBRK6_DEFAULT_QUEUE_MANAGER' und als Warteschlangennamen 'CSV2XML.OUT' ein.
  3. Klicken Sie auf 'Aus Warteschlange lesen', um den Inhalt der Ausgabenachricht anzuzeigen.
  4. Speichern Sie die Nachricht mit der Option Speichern unter als XML-Datei, und öffnen Sie die Datei in einem XML-Editor.
  5. Vergleichen Sie die Nachricht mit der erwarteten Ausgabenachricht.

Wiederholen Sie nun die Schritte 2 bis 6, und verwenden Sie dabei die Datei 'XML_msg5.enqueue' (sie enthält dieselbe XML-Nachricht, die vom ersten Nachrichtenfluss ausgegeben wurde) sowie die beiden Warteschlangen 'XML2CSV.IN' und 'XML2CSV.OUT'. Dabei wird die XML-Nachricht über den umgekehrten Nachrichtenfluss als im ersten Schritt weitergegeben, und eine CSV-Nachricht wird ausgegeben. Vergleichen Sie diese Nachricht mit der ursprünglichen CSV-Nachricht. Sie müssen identisch sein.

Wenn alle Schritte erfolgreich ausgeführt wurden, ist das Beispielprogramm damit beendet.

Weitere Informationen zum Nachrichtengruppenprojekt sowie eine Erläuterung dieser Nachrichtendefinition finden Sie unter Das CSV-Beispielprogramm testen.

Erwartete Ausgabenachricht

Die erwartete XML-Ausgabenachricht lautet:

<?xml version="1.0"?>
<CSV_5>
<header>
<requestDate>2005-04-01</requestDate>
<requestID>X123456IB7</requestID>
<requestType>customer details</requestType>
</header>
<customer>
<firstname>Bob</firstname>
<lastname>Dyson</lastname>
<streetaddress>&quot;House of the Rising Sun, 1, Desolation Row&quot;</streetaddress>
<cityname>Orlando</cityname>
<statecode>FL</statecode>
<postcode>32802</postcode>
<referencecode>HYT-457-AX</referencecode>
</customer>
<customer>
<firstname>Jimmy</firstname>
<lastname>Pace</lastname>
<streetaddress>&quot;1002, Misty Mountain Drive&quot;</streetaddress>
<cityname>New York</cityname>
<statecode>NY</statecode>
<postcode>10001</postcode>
<referencecode>ADU-239-BX</referencecode>
</customer>
<customer>
<firstname>Ralf</firstname>
<lastname>McCartney</lastname>
<streetaddress>67 Penny Lane</streetaddress>
<cityname>Las Vegas</cityname>
<statecode>NV</statecode>
<postcode>89125</postcode>
<referencecode>JUI-854-CF</referencecode>
</customer>
<customer>
<firstname>Elvis</firstname>
<lastname>John</lastname>
<streetaddress>3 Yellow Brick Road</streetaddress>
<cityname>Chicago</cityname>
<statecode>IL</statecode>
<postcode>60699</postcode>
<referencecode>GGY-118-AS</referencecode>
</customer>
<customer>
<firstname>Rick</firstname>
<lastname>Clayton</lastname>
<streetaddress>&quot;461, Ocean Boulevard&quot;</streetaddress>
<cityname>Miami</cityname>
<statecode>FL</statecode>
<postcode>33101</postcode>
<referencecode>LOP-212-TY</referencecode>
</customer>
<trailer>
<totalRecords>5</totalRecords>
</trailer>
</CSV_5>

Symbol für die Hauptseite   Zurück zum Beginn des Beispielprogramms