Beispiel für den Einsatz des
Dispatcher
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 J2EE-Adapter-Engine finden Sie unter: Migration von Dispatcher-Klassen der J2SE-Plain-Adapter-Engine
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.

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
Plain2XMLServiceist ein frei vorgebbarer Name.
● namespace1.Plain2XMLService.class=com.sap.aii.messaging.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.messaging.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 Dataliegt.