Show TOC

Beispiel für den Einsatz des DispatcherLocate this document in the navigation structure

Die meisten Adapter der Adapter-Engine bieten einen Dispatcher an, der eine Reihe von User-Exits zur Konvertierung von Messages abarbeiten kann. Mit diesem Dispatcher können Sie beispielsweise Konvertierungen des File/FTP-Adapters, XSLT-Transformationen oder Java-basierte Transformationen einzeln, oder in beliebiger Kombination durchzuführen.

Anhand des folgenden Beispiels wird gezeigt, wie der Dispatcher konkret verwendet werden kann.

Informationen zur Migration von Dispatcher-Klassen für die Adapter-Engine (Java EE) finden Sie in der Dokumentation zur Advanced Adapter Engine unter MessageTransformBean im Modul-Prozessor einfügen.

Beispiel

Eine JMS-Message wird über den JMS-Sender-Adapter an den Integration Server versendet. Die Daten liegen in einer semikolon-separierten Liste vor und werden im JMS-Adapter durch die im File/FTP-Adapter verwendete und somit bereits vorhandene Funktionalität in ein XML-Dokument umgewandelt. Dieses XML-Dokument wird dann durch ein individuelles XSLT-Stylesheet nachbearbeitet.

Im JMS-Sender-Adapter sind dazu folgende Parameter zu setzen:

  • transformClass=com.sap.aii.messaging.adapter.trans.JMSSinglePayloadBinding

    Diese Transformationsklasse müssen Sie angeben, da sich in der JMS-Payload keine XI-Message sondern lediglich die Daten befinden.

    Hinweis

    Dieser Parameter wird nur für den JMS-Adapter benötigt und ist daher spezifisch für dieses Beispiel.

  • Dispatcher.class=com.sap.aii.messaging.adapter.ConversionDispatcher
  • Dispatcher.namespace=namespace1

    Diese beiden Parameter aktivieren die Dispatcher-Funktionalität und setzen den zu verwendeten Namensraum auf namespace1 .

Für Testzwecke können Sie die Teilergebnisse der einzelnen Konvertierungsschritte durch folgenden Eintrag in der Protokolldatei ausgeben:

  • namespace1.ConversionDispatcher.logPayload=true

    namespace1 ist hier, wie bei den folgenden Parametern auch, der oben angegebene Namensraum.

Die Konvertierungsroutinen des File/FTP-Adapters sowie deren Einstellungen werden aufgrund folgender Einträge verwendet (nähere Informationen zu den einzelnen Einstellungen finden Sie jeweils unter File/FTP-Sender-Adapter konfigurieren):

  • namespace1.Service.1=Plain2XMLService

    Plain2XMLService ist ein frei vorgebbarer Name.

  • namespace1.Plain2XMLService.class=com.sap.aii.af.sdk.xi.adapter.Conversion
  • namespace1.Plain2XMLService.xml.conversionType=SimplePlain2XML

    Als Wert für diesen Parameter können Sie je nach Verarbeitungsmodus SimplePlain2XML , StructPlain2XML , oder SimpleXML2Plain angeben.

  • namespace1.Plain2XMLService.xml.processFieldNames=fromConfiguration
  • namespace1.Plain2XMLService.xml.fieldNames=a,b,c
  • namespace1.Plain2XMLService.xml.fieldSeparator=;

Die nachgelagerte XSLT-Konvertierung wird durch folgende Einträge in der Konfigurationsdatei veranlasst:

  • namespace1.Service.2=XSLTService

    XSLTService ist wiederum ein frei vorgebbarer Name.

  • namespace1.XSLTService.class=com.sap.aii.af.sdk.xi.adapter.XSLTConversion
  • namespace1.XSLTService.XSLTConversion.XSLTFileName=Data/DemoConversion.xsl

    In diesem Beispiel wird davon ausgegangen, dass das zu verwendende Stylesheet den Namen DemoConversion.xsl trägt und im Unterverzeichnis Data liegt.