Beispielprogramm 'Video Rental' ausführen

Bevor Sie starten, müssen Sie das Beispielprogramm 'Video Rental' importieren und implementieren. Wenn Sie das Beispielprogramm importiert haben, wird unter Umständen eine Anzahl Fehler angezeigt, die sich auf die .msgflow-Dateien beziehen. Diese Fehler beziehen sich auf Datenbanken und beeinträchtigen die Ausführung des Beispielprogramms nicht.

In diesem Thema wird erläutert, wie Eingabenachrichten im CWF-, XML- und TDS-Format durch den Video-Nachrichtenfluss geleitet werden. Darüber hinaus wird erklärt, wie Sie überprüfen können, ob das Beispielprogramm ordnungsgemäß funktioniert und das richtige Ergebnis erzielt wird.

Sollten bei der Ausführung des Beispielprogramms Probleme auftreten, lesen Sie den Abschnitt Fehler diagnostizieren.

Beispielprogramm ausführen

Zur Ausführung des Beispielprogramms ist eine Nachrichteneinreihung in die Eingabewarteschlangen und ein Nachrichtenabruf aus der Ausgabewarteschlange erforderlich. Zu Beginn müssen Sie eine der Nachrichten in die entsprechende Eingabewarteschlange einreihen (siehe Tabelle unten). Wenn Sie das Beispielprogramm richtig konfiguriert haben, wird eine Antwortnachricht in die Warteschlange VIDEO_OUT gestellt. Anschließend können Sie den Prozess für die anderen Nachrichten wiederholen.

Datei Eingabewarteschlange
videomsgcwf.enqueue VIDEO_CWF_IN
videomsgxml.enqueue VIDEO_XML_IN
videomsgtds.enqueue VIDEO_TDS_IN

Erläuterung der Ergebnisse

Wenn Sie eine Nachricht durch den Nachrichtenfluss leiten, erhalten Sie in der Warteschlange VIDEO_OUT eine Nachricht. In der Nachricht hat die folgende Umwandlung stattgefunden:

Optional: Wert im Ausweisfeld ändern

In den drei Eingabenachrichten enthält das Ausweisfeld (ID) einen Buchstaben, der für die Art und Weise steht, wie sich der Kunde ausgewiesen hat:

Das Feld 'IdGroup' in der Nachricht gibt die Nummer des Reisepasses, Führerscheins oder der Kreditkarte an. Um zu erfahren, warum die Nachrichten so aufgebaut sind, lesen Sie den Abschnitt Die Struktur des Nachrichtenmodells.

In den XML- und TDS-Nachrichten hat sich der Kunde mit Hilfe eines Reisepasses ausgewiesen. In der CWF-Nachricht wurde hierzu eine Kreditkarte verwendet. Wenn Sie sehen möchten, welche Auswirkungen die Änderung der Ausweisungsart in 'Führerschein' hat, nehmen Sie die Änderungen wie in der unten stehenden Tabelle angezeigt vor, und reihen Sie anschließend die Nachrichten wie üblich in die entsprechende Eingabewarteschlangen ein. Um die Dateien zu bearbeiten, müssen Sie im Ressourcennavigator doppelt auf die entsprechende Datei klicken. Daraufhin wird die Datei in der Editoranzeige geöffnet. Wenn Sie Änderungen vornehmen, müssen Sie Folgendes berücksichtigen:

Dateiname Alter Wert Neuer Wert
videomsgxml.enqueue <ID>P</ID> <ID>D</ID>
<PassportNo>J123456TT</PassportNo> <DrivingLicenseNo>xxxxxx</DrivingLicenseNo>
videomsgtds.enqueue &ID:P&PassportNo:J123456TT &ID:D&DrivingLicenseNo:xxxxxx
videomsgcwf.enqueue C (zwischen Salisbury und J123456TT) D

 

Optional: Trace für Nachrichtenfluss ausführen

Wenn Sie testen möchten, wie der CWF-Parser eine unaufgelöste Auswahl verarbeitet, können Sie einen Traceknoten für den Nachrichtenfluss durchführen. Über den Link 'Die Nachrichtengruppe testen' im Abschnitt 'Zugehörige Informationen' am Ende dieses Themas können Sie weitere Informationen zur Verarbeitung einer unaufgelösten Auswahl aufrufen.

Gehen Sie folgendermaßen vor, um die Verarbeitung einer unaufgelösten Auswahl zu testen:

  1. Fügen Sie zwischen dem Knoten 'Extract Fields' und dem VIDEO_OUT-Knoten einen Traceknoten ein, wobei die Eigenschaft 'Pattern' auf ${Root} gesetzt sein muss.
  2. Leiten Sie die Datei 'videocwfmsg.enqueue' durch den Nachrichtenfluss, und führen Sie einen Trace für den Nachrichtenfluss durch. Die Nachrichtenbaumstruktur im Traceknoten enthält die ID-Nummer im richtigen Auswahlfeld. Sie können auch nur einen Teilbereich des Traceknotens anzeigen, und zwar den Bereich, der sich auf die Verarbeitung von unaufgelösten Auswahlfeldern bezieht:

    Der folgende Tracebereich bezieht sich auf die Verarbeitung unaufgelöster Auswahlfelder:

    (0x0100001B):MRM = (
      (0x01000013):Name = (
        (0x0300000B):LastName = 'Bloggs '
        (0x0300000B):Title = 'Mr '
        (0x0300000B):FirstName = 'Fred '
    
      )
      (0x01000013)http://www.ibm.com/AddressDetails:Address = (
        (0x0300000B):HouseNo = 12
        (0x0300000B):Street = 'Willow Avenue '
        (0x0300000B):Town = 'Salisbury '
      )
      (0x0300000B):ID = 'C'
      (0x0300000B):CreditCardNo = 'J123456TT '
      (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = (
        (0x0300000B):VideoTitle = 'Fast Cars '
        (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00'
        (0x0300000B):Cost = 3.00
      )
      (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = (
        (0x0300000B):VideoTitle = 'Cut To The Chase '
        (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00'
        (0x0300000B):Cost = 3.75
      )
      (0x0300000B):Magazine = TRUE

    Hinweis: Im Traceknoten werden die Felder 'Title' (Titel), 'FirstName' (Vorname) und 'LastName' (Nachname) in einer anderen Reihenfolge angezeigt als in der CWF-Eingabenachricht. In der Eingabenachricht werden die Felder in der Reihenfolge Title, FirstName und LastName angezeigt, wenn die Nachricht jedoch syntaktisch analysiert wird, setzt der Parser das Attribut LastName in der logischen Baumstruktur über die Name-/Wert-Paare, die die untergeordneten Elemente (Title und FirstName) von NameType repräsentieren.
  3. Ändern Sie in der Datei 'videocwfmsg.enqueue' den Wert im Feld 'ID' von C in P oder D.
  4. Leiten Sie die geänderte Nachricht durch den Nachrichtenfluss, und beobachten Sie im Traceknoten die verschiedenen Ergebnisse.

Symbol für Hauptseite   Zurück zur Beispiel-Homepage