Dieser Mustercode baut auf der Musternachricht CSV_2 auf und fügt eine Auswahl in den sich wiederholenden CSV-Datensatz ein. Die Eingabenachricht enthält einen einzelnen Headersatz, gefolgt von einem sich wiederholenden CSV-Datensatz. Dieser sich wiederholende Datensatz kann entweder zwei oder sieben Elemente enthalten, je nach Definition durch die DFDL-Schemadatei. Der Mapping-Knoten ändert das Feld balance abhängig davon, ob das Feld goldmember auf 'true' gesetzt ist. Beachten Sie auch, dass bei der Zuordnung die Auswahl im Kundendatensatz bearbeitet wird. Falls diese Zuordnung nicht sichtbar ist, klicken Sie in der Symbolleiste oben auf der Registerkarte 'Zuordnung' auf die Schaltfläche Einstellungen, erweitern Sie die Baumstruktur auf der linken Seite, klicken Sie auf Nachrichtenzuordnungseditor und wählen Sie Gruppen anzeigen aus. Die CSV-Ausgabenachricht zeigt die physische Struktur der Nachricht an, die analysiert, bei der Zuordnung umgewandelt und dann für die Ausgabewarteschlange serialisiert wurde.
In diesem Abschnitt finden Sie Anweisungen zum Ausführen des Mustercodes. Darüber hinaus werden als Beispiel eine Eingabetestnachricht und eine entsprechende erwartete Ausgabenachricht angegeben, damit Sie überprüfen können, ob der Mustercode erfolgreich war.
Eine ausführliche Erläuterung des in diesem Mustercode verwendeten Nachrichtenmodells finden Sie im Abschnitt Mustercode 'Comma Separated Value (CSV)' testen.
Sollten bei der Ausführung des Mustercodes Probleme auftreten, lesen Sie den Abschnitt Resolving problems when running samples (Probleme beim Ausführen von Mustercodes beheben) in der WebSphere Message Broker-Dokumentation.
Sie können die Mustereingabedaten anhand der DFDL-Schemadatei im Message Broker Toolkit testen.
So testen Sie das DFDL-Schema:
Daraufhin wird die DFDL-Testperspektive geöffnet und die Ergebnisse Ihrer Testanalyse werden in der Ansicht 'DFDL Test - Parse' (DFDL-Test - Syntaxanalyse) angezeigt. Verläuft die Testanalyse erfolgreich, wird die Nachricht "Parsing completed successfully" (Syntaxanalyse erfolgreich abgeschlossen) angezeigt.
In der Ansicht 'Logical Instance' (Logische Instanz) werden die Ergebnisse Ihrer Testanalyse angezeigt. Die Daten werden dort in einer logische Baumstrukturansicht dargestellt. Zeigen Sie mithilfe des Parserprotokolls in der Ansicht 'DFDL - Trace' alle Fehler an, die während der Syntaxanalyse aufgetreten sind.
Die Testnachricht, die zur Ausführung dieses Mustercodes verwendet wird, basiert auf folgendem Format:
2011-11-11,X12334,customerdetails<CRLF> Bob,Dyson,true,23,23456,0,1543543.36<CRLF> Jimmy,Pace<CRLF> Ralf,McCartney,false,67,89125,4324307.35,986545.12<CRLF> Elvis,John<CRLF> Rick,Clayton,true,461,33101,1.11,100.01
Dabei steht '<CRLF>' für die Zeichen mit den hexadezimalen ASCII-Codepunkten x'0D' und x'0A'.
Dieser Mustercode verwendet den Nachrichtenfluss CSV2CSV. Dieser Nachrichtenfluss enthält einen einzelnen MQInput-Knoten, der an die Warteschlange CSV2CSV.IN2 angehängt ist. Der Zuordnungsknoten ändert das Feld balance abhängig davon, ob das Feld goldmember auf 'true' gesetzt ist. Die CSV-Ausgabenachricht zeigt die physische Struktur der Nachricht an, die analysiert, umgewandelt und serialisiert wurde.
Gehen Sie folgendermaßen vor, um den Mustercode auszuführen:
Der Nachrichtenfluss führt eine Syntaxanalyse der CSV-Nachricht durch, ändert sie entsprechend und serialisiert sie wieder in CSV. Die Ausgabenachricht wird in die Warteschlange CSV2CSV.OUT1 eingereiht.
Eine Erläuterung dieses Nachrichtenmodells finden Sie im Abschnitt Mustercode 'Comma Separated Values (CSV)' testen.
Die erwartete Ausgabenachricht lautet:
2011-11-11,X12334,customerdetails Bob,Dyson,true,23,"23,456",0,"1,543,543.36" Jimmy,Pace Ralf,McCartney,false,67,"89,125","4,324,307.5","986,545.12" Elvis,John Rick,Clayton,true,461,"33,101",1.11,100.01