Beispielnachricht CSV_2 ausführen

Dieser Mustercode baut auf der Musternachricht CSV_1 auf und fügt einen Headersatz in die CSV-Nachricht ein. Die Eingabenachricht enthält einen einzelnen Headersatz, gefolgt von einem einzelnen, sich wiederholenden CSV-Datensatz. Statt die Nachricht von CSV in XML zu konvertieren, verwendet der Rechenknoten nur die DFDL-Domäne und verändert die logische Nachricht unter Verwendung von ESQL.

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, beachten Sie die Informationen in der Dokumentation für WebSphere Message Broker im Abschnitt Probleme bei der Ausführung von Mustercodes beheben.

DFDL-Schema CSV_2 testen

Sie können die Mustereingabedaten anhand der DFDL-Schemadatei mithilfe des Message Broker Toolkits testen.

So testen Sie die DFDL-Schemadatei:

  1. Öffnen Sie die DFDL-Schemadatei CSV_2.xsd.
  2. Klicken Sie unter 'Message Roots' (Nachrichtenstammelemente) mit der rechten Maustaste auf CSV_2. Klicken Sie auf Test Parse Model (Modell für die Syntaxanalyse testen).
  3. Wählen Sie im Fenster für den Test des Syntaxanalysemodells Content from a data file (Inhalt aus einer Datendatei) aus und klicken Sie auf Browse (Durchsuchen).
  4. Wählen Sie im Fenster für die Dateiauswahl unter dem Nachrichtenbrokerprojekt CSVSchemas die Datei CSV_2.csv aus. Klicken Sie auf OK.

Möglicherweise werden Sie in einem Fenster gefragt, ob die DFDL-Testperspektive geöffnet werden soll. Klicken Sie auf Yes (Ja). 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.

Eingabetestnachricht

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,false,1002,10001,-4.32423,654654.99<CRLF>
Ralf,McCartney,false,67,89125,4324307.35,986545.12<CRLF>
Elvis,John,true,3,60699,-0.343242356675,99999999999999.99<CRLF>
Rick,Clayton,true,461,33101,0.000000000000001,100.01

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

Mustercode ausführen

Dieser Mustercode verwendet den Nachrichtenfluss CSV2CSV. Dieser Nachrichtenfluss enthält einen einzelnen MQInput-Knoten, der an die Warteschlange CSV2CSV.IN1 angehängt ist. Der ESQL Rechenknoten ä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, bei der Zuordnung umgewandelt und dann für die Ausgabewarteschlange serialisiert wurde.

Gehen Sie folgendermaßen vor, um den Mustercode auszuführen:

  1. Erweitern Sie in der Ansicht 'Brokerentwicklung' das Nachrichtenbrokerprojekt CSVMessageFlows.
  2. Öffnen Sie unter Flusstests die Datei CSVApplication.mbtest.
  3. Wählen Sie in der Ansicht 'Editor' den Eintrag mit der Bezeichnung 'Invoke Message flow(CSV_2 to CSV_2 Balance adjusted for gold members)' aus. Beobachten Sie die Daten im CSV-Format.
  4. Klicken Sie in der Ansicht 'Editor' auf das Symbol Start.

Der Nachrichtenfluss führt eine Syntaxanalyse der CSV-Nachricht durch, ändert sie 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.

Erwartete Ausgabenachricht

Die erwartete Ausgabenachricht lautet:

2011-11-11,X12334,customerdetails
Bob,Dyson,true,23,"23,456",0,"1,929,429.2"
Jimmy,Pace,false,"1,002","10,001",-4.324,"654,654.99"
Ralf,McCartney,false,67,"89,125","4,324,307.5","986,545.12"
Elvis,John,true,3,"60,699",-0.343,"99,999,999,999,999.99"
Rick,Clayton,true,461,"33,101",0,100.01

Zurück zu 'Mustercode ausführen'

Zurück zum Beginn des Mustercodes