Show TOC

Zugriff auf Konfigurationsdaten in SenderrichtungLocate this document in the navigation structure

Verwendung

Der Zugriff auf Konfigurationsdaten in Senderrichtung (vom angeschlossenen System in Richtung Integration Server) erfolgt auf eine andere Weise als in Empfängerrichtung, weil in Senderrichtung die ID des Kommunikationskanals zu Beginn der Bearbeitung unbekannt ist.

Funktionsumfang

Der erste Verarbeitungsschritt Ihres Adapters ist üblicherweise, mit Hilfe des LookupManager alle Senderkommunikationskanäle zu lesen. Sie können diesen Schritt als Teil der der Initialisierung der ManagedConnectionFactory implementieren.

Hinweis
Hinweis Öffnen Sie hierzu XIConfiguration.java und suchen Sie nach der Zeichenkette CS_CHINLU.
Hinweis Das Beispiel zeigt, dass alle Sender- und Empfängerkommunikationskanäle gelesen und intern gespeichert werden.
Hinweis Verwenden Sie den Callback-Mechanismus, um Daten aktuell zu halten.
Hinweis Weitere Informationen: CPA-Event-Registrierung

Die ManagedConnectionFactory liest zuerst alle Sender-Kommunikationskänale, erzeugt dann einen oder mehrere Application Threads für die Eingangsverarbeitung und stellt dann die physikalische Verbindung für jeden Kanal her.

In Abhängigkeit vom externen Protokoll gibt es nun folgende Möglichkeiten, die eingehende Message zu verarbeiten:

  • Statisch

    Eine feststehende Kombination aus Partner und Kommunikationskomponente schickt diese Messages durch einen bestimmten Kommunikationskanal. In diesem Fall kann der Adapter die Adressinformationen aus der Kommunikationsvereinbarung ermitteln.

    Setzen Sie in den Adaptermetadaten das Attribut AdapterTypeMetaData /@senderAgreementUnique .

    Hinweis
    Hinweis Öffnen Sie hierzu SPIManagedConnectionFactory.java und suchen Sie nach der Zeichenkette CS_AMCPA.
  • Dynamisch

    Unterschiedliche Partner und Kommunikationskomponenten schicken über eine gleiche physikalische Verbindung , die durch eine JCA ManagedConnenction verwaltet wird, Messages an den Integration Server/an das PCK. In diesem Fall muss die Sendevereinbarung mit den Adressdaten der Message gesucht und der Kanal daraus bestimmt werden, damit die Message in den korrekten Kommunikationskanal eingestellt wird.

    Hinweis
    Hinweis Öffnen Sie hierzu SPIManagedConnectionFactory.java und suchen Sie nach der Zeichenkette CS_AMMSG.

Die Eingangsverarbeitung kann in den Modulen fortgesetzt werden. Die Konfiguration der Sicherheitseinstellungen erfolgt analog zur Empfängerrichtung .

Zugriffskontrolle über zugeordnete Benutzer

Sie können für eine Sender-Kommunikationskomponente vom Typ Business-Kommunikationskomponente oder Business-System den Zugriff auf die Laufzeitumgebung auf bestimmte Benutzer einschränken.

Zur Laufzeit findet dann eine Berechtigungsprüfung vor der Eingangsverarbeitung der Message statt. Hierbei wird sichergestellt, dass Messages, die die Kommunikationskomponente als Sender im Message-Header eingetragen haben, nur von den angegebenen Benutzern im Integration Server bzw. in der Adapter-Engine ausgeführt werden dürfen.

Diese Zugriffskontrolle kann in der Sendervereinbarung für den Adapter weiter eingeschränkt werden. Dort können ebenfalls zugeordnete Benutzer angegeben werden.

Die Berechtigungsprüfung wird immer erst auf Kommunikationskomponenten- und dann auf Sendervereinbarungs-Ebene vorgenommen. Führen Sie die Prüfung folgendermaßen durch:

  • Erste Überprüfung auf Kommunikationskomponenten-Ebene

    Falls ACL(Kommunikationskomponente) nicht leer ist und falls der Benutzer nicht in der Liste der zugeordneten Benutzer für die Kommunikationskomponente ist, weisen Sie die Message zurück

  • Zweite Überprüfung auf Ebene der Sendervereinbarung

    Falls ACL(Agreement) nicht leer ist und falls der Benutzer nicht in der Liste der zugeordneten Benutzer für die Sendervereinbarung ist, weisen Sie die Message zurück.

Diese Berechtigungsprüfung kann von Adaptern, die über ein Benutzer-/Kennwortkonzept (basic authentification) verfügen genutzt werden. Es kann geprüft werden, ob der authentifizierte Benutzer die Berechtigung hat, für die angegebene Kommunikationskomponente zu senden.

Folgende API-Methoden stehen im com.sap.aii.af.service.cpa.LookupManager zur Verfügung:

  • userHasPermission(java.lang.String user, Service service)
  • userHasPermission(String user, Binding binding)
  • getServiceUserByPartyService(java.lang.String party, java.lang.String service)
  • getServiceUserByService(Service service)

Details zu den Methoden finden Sie in der JavaDoc.

Weitere Informationen: Kommunikationskomponente , dort unter Zugriffskontrolle über Zugeordnete Benutzer