
Obligatorische Sendervereinbarungen
Die Angabe einer Kommunikationsvereinbarung ist in jedem Fall erforderlich, wenn Sie Sicherheitseinstellungen für die Verarbeitung der Message vornehmen möchten.
Wenn Sie keine Sicherheitseinstellungen vornehmen möchten, ist die Angabe einer Empfängervereinbarung dennoch immer für die Definition der Ausgangsverarbeitung der Message erforderlich, unabhängig davon, welcher Adapter verwendet wird.
Weitere Informationen: Empfängervereinbarung definieren
Dagegen ist die Angabe einer Sendervereinbarung dann nur in bestimmten Fällen (bei Verwendung bestimmter Adapter) obligatorisch. Dies hängt davon ab, welche über die Adapterkonfiguration im Senderkanal hinausgehenden Informationen für eine korrekte Eingangsverarbeitung benötigt werden.
Die folgende Tabelle gibt an, bei welchen Sender-Adaptertypen die Definition einer Sendervereinbarung in jedem Fall erforderlich ist (auch wenn Sie keine Sicherheitseinstellungen vornehmen).
|
Sender-Adaptertyp |
Sendervereinbarung erforderlich |
|---|---|
|
JMS, JDBC, File/FTP |
Erforderlich (siehe Anmerkungen unten) |
|
RFC |
Erforderlich |
|
IDoc |
- |
|
HTTP |
- |
|
XI |
- |
|
WS |
Erforderlich |
|
SOAP |
- |
|
RNIF |
Erforderlich |
|
CIDX |
Erforderlich |
|
|
- |
|
Marketplace |
Erforderlich |
|
BC |
Erforderlich |
Wenn Sie Adapter von Fremdherstellern verwenden, überprüfen Sie in der Dokumentation des Fremdadapters, inwieweit bei Verwendung des Fremdadapters die Definition einer Sendervereinbarung erforderlich ist.
Besondere Bedingungen bei Verwendung von JMS-, JDBC- oder File/FTP-Sender-Adapter
Bei diesen Adaptertypen werden die Informationen über die Adress-Felder des Message-Header aus der Sendervereinbarung ermittelt, der der Kommunikationskanal zugeordnet ist. Für Sendervereinbarungen, die Kommunikationskanäle mit diesen Adaptertypen verwenden, ergeben sich folgende Bedingungen:
Der Senderkanal darf nicht mehr als einer Sendervereinbarung zugeordnet sein.
Kein Schlüsselfeld darf das Wildcard-Zeichen ( * ) enthalten.
In der Sendervereinbarung müssen mindestens das Interface (Name und Namensraum) und die Sender-Kommunikationskomponente spezifiziert sein, da die entsprechenden Adress-Felder in der Message eindeutig gesetzt sein müssen. Die übrigen Felder sind optional (siehe Schlüsselfelder für Sendervereinbarung).
Zur Laufzeit wird zunächst die Sendervereinbarung aus dem Senderkanal ermittelt. Die Informationen aus der Sendervereinbarung werden dann dazu verwendet, den Adress-Header der Message zu konstruieren.
Hinweise zu spezifisch/generisch definierten Sendervereinbarungen
Regel: Spezifischstes Objekt hat Vorrang
Die Regel spezifischstes Objekt hat Vorrang gilt immer Adaptertyp-übergreifend.
Weitere Informationen: Generische/Spezifische Definition von Konfigurationsobjekten
Der Adaptertyp ist nicht Teil des Objektschlüssels einer Sendervereinbarung. Eine Sendervereinbarung ist daher immer für alle Adaptertypen gültig. Zur Laufzeit erfolgt die Eingangsverarbeitung der Message aber nur dann fehlerfrei, wenn die Message an den Adapter geschickt wird, der im verwendeten Kommunikationskanal konfiguriert ist.
Anders ausgedrückt: über die Regel "spezifischstes Objekt hat Vorrang" wird implizit (über den Kommunikationskanal, der in der wirksamen Sendervereinbarung verwendet wird) festgelegt, welcher Adapter für die Eingangsverarbeitung der Message verwendet werden muss.
Spezialfall: mehrere Adapter-Engines beteiligt
Wenn mehrere Adapter-Engines am Message-Austausch beteiligt sind, müssen Sie darüber hinaus folgende Besonderheit beachten.
Die Regel "spezifischstes Objekt hat Vorrang" gilt bei Sendervereinbarungen nicht Adapter-Engine-übergreifend. Beim Message-Eingang sind einer beteiligten Adapter-Engine nur diejenigen Sender-Kommunikationskanäle und darauf basierenden Sendervereinbarungen bekannt, die für sie definiert sind.
Als Beispiel seien im Integration Directory folgende Sendervereinbarungen definiert.
|
Schlüsselattribute |
Sender-vereinbarung1 |
Sender-vereinbarung2 |
Sender-vereinbarung3 |
|
|
Sender |
Partner |
A |
* |
A |
|
Kommunikationskomponente |
* |
* |
B |
|
|
Interface (Name) |
OutboundExample |
OutboundExample |
OutboundExample |
|
|
Namensraum |
http://example |
http://example |
http://example |
|
|
Empfänger |
Partner |
P1 |
P2 |
P3 |
|
Kommunikationskomponente |
S1 |
S2 |
S3 |
|
|
Adapter-Engine (x) |
AE 1 |
AE 1 |
AE 2 |
(x): Adapter-Engine des Kommunikationskanals, der von der Sendervereinbarung verwendet wird
Im konfigurierten Szenario erhält Adapter-Engine AE1 eine Message von Kommunikationskomponente B des Partners A .
Obwohl Sendervereinbarung3 die spezifischste Sendervereinbarung ist, ist in diesem Fall Sendervereinbarung1 wirksam. Sendervereinbarung3 verwendet einen Kommunikationskanal, der Adapter-Engine AE1 nicht bekannt ist.
Bei Empfängervereinbarungen gilt dagegen die Regel "spezifischstes Objekt hat Vorrang" Adapter-Engine-übergreifend.