XML-Ausgabe erstellen und XSLT auf eine XML-Nachricht anwenden

Sie können einen Benutzerexit entwickeln, mit dem Sie eine XML-Nachricht erstellen und anschließend die XML-Nachricht mit XSL-Umsetzungen (XSL Transformation - XSLT) formatieren können.

Informationen zu dieser Task

Mit CDC Replication Engine for Event Server können Sie Parameter für die folgenden Methoden in der EventServerIF -Schnittstelle angeben:
  • createXmlOutput()
  • apply Xslt()

Der folgende Benutzerexit wendet zum Beispiel XSLT auf eine vorhandene XML-Nachricht an:

}
/**
		* Apply XSLT transform to the output message
		* @throws UserExitException
		*/
		private void applyXslt(EventServerIF eventServer, ReplicationEventIF p_Event)
throws UserExitException
		{
				//Get TS/ES XML Engine to create the xml file
				String xml = eventServer.createXmlOutput(p_Event);
// Apply XSLT transform to the xml message
				String xsltOutput = eventServer.applyXslt(xslt/dbxml.xsl, xml);
//Set the xml message that TS/ES is going to send
				eventServer.setOutputTextMessage(xsltOutput);
		}
public boolean processReplicationEvent(ReplicationEventIF p_Event) throws
UserExitException
		{
boolean retValue = true;
int eventType = p_Event.getEventType();
		if (eventType == ReplicationEventTypes.BEFORE_INSERT_EVENT)
		{
				EventServerIF eventServer = p_Event.getEventServer();
// Apply XSLT transform
				applyXslt(eventServer, p_Event);
		}
		return retValue;
}

Vorgehensweise

  1. Klicken Sie auf Konfiguration > Datenspeicher.

    Stellen Sie sicher, dass Sie mit einem Datenspeicher CDC Replication Engine for Event Server verbunden sind.

  2. Klicken Sie auf Konfiguration > Subskriptionen.

    Stellen Sie sicher, dass Sie eine Subskription erstellt haben, die den Datenspeicher CDC Replication Engine for Event Server als Ziel verwendet.

  3. Vergewissern Sie sich, dass Sie mindestens eine Zuordnung zwischen einer Quellentabelle und einem XML-Nachrichtenziel innerhalb dieser Subskription erstellt haben.
  4. Wählen Sie die Tabellenzuordnung aus und klicken Sie mit der rechten Maustaste auf Details öffnen.
  5. Klicken Sie auf die Registerkarte Benutzerexits .
  6. Wählen Sie Java-Klasse im Feld Benutzerexittyp aus.
  7. Geben Sie im Feld "Klassenname" den Java™-Klassennamen des Benutzer-Exits ein, der UserExitIF implementiert, wenn Sie den Benutzer-Exit in Java entwickelt haben.
  8. Geben Sie im Feld Parameter die Parameter ein, die dem Benutzerexitprogramm zur Verfügung gestellt werden sollen.

    Sie können auf die Parameter in der Java-Klasse zugreifen, indem Sie während des Initialisierungsprozesses getParameter( aufrufen. Beim Angeben der Parameter müssen keine Konventionen beachtet werden. In dieses Feld können unformatierte Werte eingegeben werden. Die Zeichenfolge eines Parameters darf nicht länger als 255 Zeichen sein.

  9. Aktivieren Sie das Kontrollkästchen Vor oder Nach für mindestens eine der folgenden Operationen:
    Einfügen
    CDC Replication Engine for Event Server führt den Benutzerexit vor oder nach dem Anwenden einer Einfügeoperation auf eine von Ihnen zwischengespeicherte Tabelle und/oder vor oder nach dem Anwenden einer Einfügeoperation auf ein JMS-Nachrichtenziel aus.
    Aktualisieren!
    CDC Replication Engine for Event Server führt den Benutzerexit vor oder nach dem Anwenden einer Aktualisierungsoperation auf eine zwischengespeicherte Tabelle und/oder vor oder nach dem Anwenden einer Aktualisierungsoperation auf ein JMS-Nachrichtenziel aus.
    Löschen
    CDC Replication Engine for Event Server führt den Benutzerexit vor oder nach dem Anwenden einer Löschoperation auf eine zwischengespeicherte Tabelle und/oder vor oder nach dem Anwenden einer Löschoperation auf ein JMS-Nachrichtenziel aus.
    Aktualisieren
    CDC Replication Engine for Event Server führt den Benutzerexit vor oder nach dem Anwenden einer Aktualisierungsoperation auf eine zwischengespeicherte Tabelle und/oder vor oder nach dem Anwenden einer Aktualisierungsoperation auf ein JMS-Nachrichtenziel aus.
    Abschneiden
    CDC Replication Engine for Event Server führt den Benutzerexit vor oder nach dem Anwenden einer Abschneideoperation auf eine von Ihnen zwischengespeicherte Tabelle und/oder vor oder nach dem Anwenden einer Abschneideoperation auf ein JMS-Nachrichtenziel aus.
  10. Klicken Sie auf Speichern.

    Sie können mit der Spiegelung bei der Subskription beginnen, die die Quellentabelle enthält, die einem JMS-Nachrichtenziel zugewiesen ist. Das Benutzerexitprogramm legt das neue Ziel fest, bevor CDC Replication Engine for Event Server die Operation auf ein JMS-Nachrichtenziel anwendet.