
Sie konfigurieren den SOAP-Adapter, um damit SOAP-Messages zwischen der Integration Engine und remote Clients bzw. Servers von Web-Services auszutauschen.
Der SOAP-Adapter bietet eine Laufzeitumgebung mit verschiedenen SOAP-Komponenten zur Verarbeitung von SOAP-Messages. Sie können diese SOAP-Komponenten nach Ihren Bedürfnissen mit eigenen Komponenten kombinieren.
Zur Instanziierung und Steuerung der SOAP-Komponenten verwendet der SOAP-Adapter eine Helper-Klasse. Möchten Sie Ihre eigene SOAP-Verarbeitungslogik verwenden, müssen Sie dem SOAP-Adapter Ihre eigene Helper-Klasse zur Verfügung stellen.
Die Konfiguration des SOAP-Adapters besteht im Wesentlichen aus der Angabe
com.sap.aii.messaging.adapter.ModuleBubbleHelper
Zum Beispiel müssen für die Helper-Klasse ModuleBubbleHelperXMBWSImpl die folgenden Parameter angegeben werden (diese Helper-Klasse instanziiert ein BubbleBag zur Integration von remote Web-Services mit der Integration Engine):
Sie haben
Für den SOAP-Adapter besteht die Konfiguration aus zwei funktionalen Teilbereichen:
30
Diese Angabe ist zwingend. Fehlt die Angabe, wird die Konfiguration als XI 2.0 Adapter-Konfiguration interpretiert. Andere Werte sind nicht zulässig und werden als Fehler ausgegeben.
Geben Sie den Namen der Klasse folgendermaßen an:
com.sap.aii.messaging.adapter.ModuleBubble
Diese Angabe ist zwingend.
So müssen Sie zum Beispiel für die mitgelieferte Helper-Klasse ModuleBubbleHelperXMBWSImpl die folgenden Parameter spezifizieren:
Je nach Bedarf können Sie hierbei entweder einen Sender-Adapter oder einen Empfänger-Adapter oder auch alle beide konfigurieren.
Helper-Klasse für Senderverarbeitung konfigurieren
http://IntegrationEngineHost:port/pipeline-arguments
Diese Angabe ist zwingend, wenn die Integration Engine als Service-Provider agiert.
Die Adresse der Integration Engine kann auch dynamisch aus dem System Landscape Directory (SLD) ermittelt werden. Hierzu wird in der Konfiguration folgender Eintrag hinzugefügt:
SLDaccessor
In diesem Fall wird für das mit XI.SenderService angegebene System die URL des zugehörigen Server im SLD ausgelesen und anstelle des unter XI.TargetURL angegebenen Wertes verwendet. Daher sollte hier folgendes angegeben werden:
<fromSLD>
Damit der Zugriff funktioniert, muss der Dienst SLDaccessor für den Zugriff ins SLD konfiguriert sein, und die entsprechenden Einträge müssen im SLD gepflegt sein.
Ist der Integration Server nicht direkt, sondern über einen HTTP-Proxy-Server zu erreichen, müssen folgende Parameter gesetzt werden:
XI.ProxyHost=<proxyHostname>
XI.ProxyPort=<proxyPortnumber>
8080
Wurde für den angegebene HTTP-Proxy-Server eine Authentifizierung spezifiziert, verwenden Sie folgende Parameter:
XI.ProxyUser =<proxyUser>
XI.ProxyPassword=< proxyPassword>
Wurde für die angegebene URL (HTTP-Service) in der Integration Engine eine Authentifizierung spezifiziert, verwenden Sie folgende Adresse:
http://<user-name>:<password>@IntegrationEngineHost:port/pipeline-arguments
Als Alternative hierzu, oder wenn die URL aus dem SLD ermittelt wurde, können Sie die Anmeldeparameter auch wie folgt spezifizieren:
<user-name>
<password>
Die Angaben müssen mit denen übereinstimmen, die Sie in der Transaktion SICF in der Integration Engine gemacht haben. Falls Sie keine oder eine ungültige Kombination von Benutzer und Kennwort angeben, wird jeder Übertragungsversuch in die Integration Engine mit Transport Exception: http-Error 401 - Unauthorized scheitern.
Der Benutzer muss im Integration Server über die Berechtigungen der Gruppe SAP_XI_APPL_SERV_USER verfügen.
Informationen zur Konfiguration der SSL-Authentifizierung mit Zertifikat finden Sie unter: Zertifikatverwaltung , dort unter Adapter Engine als SSL-Client einrichten
Soll bei der Anmeldung ein anderer Mandant bzw. eine andere Sprache als die Default-Werte der Integration Engine verwendet werden, können Sie zusätzlich die folgenden Parameter setzen:
<client-no>
<language-id>
Die folgenden Adress-Argumente sind optional. Sind diese Informationen nicht in der Request-Message eines Web-Service-Client enthalten, dienen die Angaben der Identifikation der Adapter-Konfiguration beim Routing und Mapping in der Pipeline der Integration Engine. Dort ist auch die Bedeutung der einzelnen Argumente beschrieben.
<sender party name>
<sender service name>
<namespace URI>
<name>
<receiver party name>
<receiver service name>
Geben Sie diesen Parameter an, benötigen Sie keine Empfängerermittlung beim Routing.
Die folgenden Argumente sind zwingend:
<QualityOfService>
Gibt an wie eine Message durch die Integration Engine verarbeitet werden soll. Erlaubte Werte sind:
BE
EO
EOIO
EOIO
<QueueName>
Dieser Queue-Name wird in der Integration Engine verwendet, um Messages in der Reihenfolge ihres Eingangs zu bearbeiten.
<encoding>
Gibt an welche XML-Kodierung für die Integration Engine verwendet werden soll. Vorschlagswert ist UTF-8.
<port_no>
<port_no>
<path>
<path>
<boolean>
true
<boolean>
true
<boolean>
true
<boolean>
true
Es wird die Request-Message berücksichtigt.
Helper-Klasse für Empfängerverarbeitung konfigurieren
http://WebServiceHost:port/service-arguments
Diese Angabe ist zwingend, wenn der Web-Service-Provider als Service-Provider agiert.
Wurde für die angegebene URL (HTTP-Service) im Web-Service-Provider eine Authentifizierung spezifiziert, verwenden Sie folgende Adresse:
http://<user-name>:<password>@WebServiceHost:port/service-arguments
Als Alternative hierzu können Sie die Anmeldeparameter auch wie folgt spezifizieren:
<user-name>
<password>
Ist der Web-Service-Provider nicht direkt, sondern über einen HTTP-Proxy-Server zu erreichen, müssen folgende Parameter gesetzt werden:
8080
Wurde für den angegebene HTTP-Proxy-Server eine Authentifizierung spezifiziert, verwenden Sie folgende Parameter:
<user-name>
<password>
<default_soap_action>
<default_soap_action>
<boolean>
true
Header von Web-Service-Messages werden immer in die Messages der Integration Engine übernommen.
<boolean>
true
<boolean>
true
<2|3>
233
<boolean>
true
Es wird die Response-Message berücksichtigt.
<port_no>
<port_no>
<path>
<path>
Gibt an welche XML-Kodierung für den Web-Service-Provider verwendet werden soll. Vorschlagswert ist UTF-8.
Encoded String-Syntax
Die Struktur ist folgendermaßen aufgebaut:
Für XI 3.0 stehen folgenden Feldnamen zur Verfügung:
Feldnamen XI 3.0
| Name | Bedeutung |
|---|---|
|
MessageClass |
Message-Klasse:
|
|
ProcessingMode |
|
|
MessageId |
Message-Id als GUID mit Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
|
RefToMessageId |
Referenz auf Message-id, als GUID mit Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
|
ConversationId |
Als String mit 60 max. Länge |
|
TimeSent |
Zeitstempel (dargestellt als ISO8601 UTC datetime YYYY-MM-DDThh:mm:ssZ ) |
|
Sender.Party |
Name des Senderpartners (dargestellt als agency:scheme:name) |
|
Sender.Service |
Service des Senders |
|
Receiver.Party |
Name des Empfängerpartners (dargestellt als agency:scheme:name) |
|
Receiver.Service |
Service des Empfängers |
|
Interface |
Als nsuri
^ |
|
QualityOfService |
|
|
QueueId |
Bei ExactlyOnceInOrder |
Beispiel
version=3.0&MessageClass=ApplicationMessage&ProcessingMode=synchronous&MessageId=13490851-9aae-11d8-9e93-f28d0a12631c&TimeSent=2004-04-30T13%3A55%3A44Z&Sender.Party=016%3Apattern_33%3AAEG_837654&Sender.Service=SRM1&Receiver.Party=12_55%3A017%3ABASF&Receiver.Service=SALES&Interface=http%3A%2F%2Fsap.com%2Fexample%2Fsrm%5ESRM1
Für XI 2.0 stehen folgenden Feldnamen zur Verfügung:
Feldnamen XI 2.0
| Name | Bedeutung |
|---|---|
|
From.Name |
Name des Sender-Business-Systems |
|
From.Interface |
Interface-Name des Senders |
|
To.Name |
Name des Empfänger-Business-Systems |
|
To.Interface |
Interface-Name des Empfängers |
|
Fault |
Fault-Name (angegeben als nsuri
^ |
|
MessageId |
Message-Id als GUID mit Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
|
RefToMessageId |
Referenz auf Message-id, als GUID mit Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
|
QualityOfService |
|
|
QueueId |
Bei ExactlyOnceInOrder |
|
TimeSent |
Zeitstempel (dargestellt als ISO8601 UTC datetime YYYY-MM-DDThh:mm:ssZ ) |
|
Direction |
Richtung der Message (Request oder Response) |
|
Document |
Name des Hauptdokuments |
Beispiel
version=1.0&From.Name=TravelAgency&From.Interface=http%3A%2F%2FSAP.com%2Fcomponent%2FAgency%5EFlightCheckAvailability&To.Name=Airline&To.Interface=http%3A%2F%2FSAP.com%2Fcomponent%2FAirline%5EFlightAvailability&MessageId=a10cd770-9aae-11d8-9cfa-c4670a12631c&QualityOfService=BestEffort&TimeSent=2004-04-30T13%3A59%3A42Z&Direction=Request