Show TOC

Service-Provider konfigurierenLocate this document in the navigation structure

Voraussetzungen

Eine Service-Definition ist im ABAP-System vorhanden. Die Service-Definition ist ein Verschalerobjekt mit einer Verknüpfung zu der den Web-Service implementierenden Klasse bzw. zum Funktionsbaustein sowie zur Designzeit-Konfiguration. Die Designzeit-Konfiguration ist eine Sammlung von Anforderungen für einen Web-Service, die bereits zur Designzeit bekannt sind. Sie legt grundlegende Attribute fest, z.B. den Operationstyp (synchron / asynchron) sowie die Mindestvoraussetzungen für den Zugriff auf den Web-Service.

Kontext

Um einen Service-Provider konfigurieren zu können, müssen Sie ein Binding anlegen und konfigurieren. Das Binding enthält eine Laufzeitkonfiguration, die für die Implementierung des Service benötigt wird. Eine Laufzeitkonfiguration wird unter Verwendung der Service-Definition generiert.

Eine Service-Definition besteht aus Entwicklungsobjekten. Diese Entwicklungsobjekte werden entweder von SAP ausgeliefert oder sind kundenspezifische Objekte, die als Bestandteil einer Anwendung bereitgestellt werden. Service-Definitionen werden automatisch bei der Proxy-Generierung angelegt.

Sie können mehrere Bindings für den gleichen Service anlegen. Auf diese Weise können Sie für einen Service mehrere unterschiedliche Laufzeitkonfigurationen bereitstellen und so alternative Wege für den Zugriff auf den Web-Service implementieren. Die Binding-Informationen helfen bei der Konfiguration von Web-Service-Consumern in Form eines WSDL-Dokuments. Jeder konfigurierte ABAP-Web-Service-Provider (d.h. jedes Binding) kann in einem WSDL-Dokument beschrieben werden. Ein WSDL-Dokument beschreibt einen Web-Service in einem XML-Dokumentformat. Es wird in der Regel zur Übergabe der Binding-Informationen an einen Web-Service-Consumer verwendet, um die Einrichtung der Consumer-Konfiguration zu unterstützen, die als logischer Port bezeichnet wird.

Hinweis

Wenn Sie kein Binding anlegen, kann der Service nicht aufgerufen werden.

Wann Sie einen einzelnen Service-Provider konfigurieren

In der Regel konfigurieren Sie einen einzelnen Service-Provider in den folgenden Situationen:

  • Die Kommunikation zwischen zwei Anwendungen findet in eine Richtung statt.

    Die Consumer-Proxys müssen nur für eine der beiden Anwendungen konfiguriert werden. Für die nicht konfigurierte Anwendung müssen nur die Services konfiguriert werden.

  • Die Consumer-Seite ist mit genau einem Provider-System oder mit einem Mediator (Hub) verbunden.

  • Das Consumer-System bietet Empfängerermittlung nicht durch Service-Gruppen an, sondern durch anwendungsspezifische Konfiguration, in der die Namen von logischen Ports abgelegt sind, auf die von dort aus zur Laufzeit direkt zugegriffen wird.

  • Es gibt nur eine kleine Anzahl von Consumer-Proxys oder Services.

Vorgehensweise

  1. Wechseln Sie im Einstiegsbild von SOA-Manager auf die Registerkarte Service-Administration.
  2. Wählen Sie Web-Service-Konfiguration.
  3. Suchen Sie eine Service-Definition.

    Es stehen zahlreiche unterschiedliche Suchkriterien zur Verfügung. In diesem Fall können Sie z.B. den Objekttyp, den Objektnamen und die Attribute der Service-Definition angeben. Weitere Suchkriterien können Sie mit dem Symbol Hinzufügen hinzufügen. In den Suchergebnissen werden einige grundlegende Attribute der Service-Definition angezeigt.

  4. Klicken Sie auf den internen Namen der Service-Definition, um Details anzuzeigen.

    Die Details zur Service-Definition werden auf vier Registern angezeigt. Auf dem Register Konfigurationen wird eine Liste von Services und Bindings angezeigt. Auf den anderen Registern können Sie Designzeit-Informationen und Klassifizierungen anzeigen.

  5. Um einen neuen Service mit Binding anzulegen, wählen Sie Service anlegen. Wenn Sie ein neues Binding für einen vorhandenen Service anlegen möchten, wählen Sie den Service aus der Liste aus und wählen Sie das Symbol Binding anlegen in der Spalte Service-Aktionen.

    Ein Assistent wird gestartet.

  6. Geben Sie einen Namen für den Service, eine Service-Beschreibung und einen Namen für das Binding ein. Wenn Sie nur ein Binding anlegen, wird der Service-Name schon angezeigt, und Sie geben nur den Binding-Namen an.

    Ein Binding enthält eine einzelne Laufzeitkonfiguration für einen Service. Unterschiedliche Laufzeitverhalten definieren Sie, indem Sie mehrere Bindings für den gleichen Service anlegen. So können Sie den gleichen Service mit unterschiedlichem Laufzeitverhalten für verschiedene Consumer anbieten.

  7. Wählen Sie Weiter.
  8. Geben Sie die folgenden Provider-Sicherheitseinstellungen an.
    Hinweis

    Die erlaubten Einstellungen hängen von den Sicherheitseinstellungen der Service-Definition ab, die in der ABAP Development Workbench festgelegt sind. Sie müssen das ABAP-System vorbereiten, um die in dieser Ansicht angebotenen Sicherheitsmechanismen nutzen zu können. Vor allem die message-basierte Authentifizierung erfordert eine Vorbereitung mit dem Report WSS_SETUP, damit sie korrekt läuft. Weitere Informationen finden Sie im SAP-NetWeaver-Sicherheitsleitfaden im SAP Help Portal.

    Transportgarantie

    Hier legen Sie fest, ob und wie Messages signiert oder verschlüsselt werden.

    • Keine: Das HTTP-Protokoll wird verwendet, und es findet keine Verschlüsselung der Web-Service-Messages im Netzwerk statt.

    • SSL: Das HTTPS-Protokoll wird verwendet. Die HTTP-Message mit der Web-Service-Message wird verschlüsselt. Dies gewährleistet Datenintegrität und Datenschutz. SSL bietet auch eine serverseitige Authentifizierung (der Server identifiziert sich selbst gegenüber dem Provider). Die client-seitige Authentifizierung (beim Herstellen der Verbindung identifiziert sich der Consumer selbst gegenüber dem Provider) kann erzwungen werden, indem Sie die Option X.509-Zertifikat unter Authentifizierungsmethode unten wählen. Eine Kombination aus beidem ermöglicht die gegenseitige Authentifizierung.

    • Symmetrische Message-Signatur/-Verschlüsselung: Diese Option sichert den Datenaustausch auf der Ebene der Web-Service-Message (SOAP) ab. Die SOAP-Message wird signiert und verschlüsselt. Dabei werden Signatur und Verschlüsselung mit Hilfe eines symmetrischen Session-Schlüssels berechnet. Dieser Schlüssel wird vom Consumer erzeugt und wird für den kompletten Request-/Response-Zyklus genutzt. Der symmetrische Schlüssel selbst wiederum wird ebenfalls verschlüsselt übertragen. Dazu wird der öffentliche Schlüssel des Paars aus öffentlichem und privaten Schlüssel des Providers verwendet.

    • Asymmetrische Message-Signatur/-Verschlüsselung: Diese Option sichert den Datenaustausch auf der Ebene der Web-Service-Message (SOAP) ab. Die SOAP-Message wird signiert und verschlüsselt. Die Signatur wird mit Hilfe des privaten asymmetrischen Schlüssels des Consumers berechnet. Die Verschlüsselung wird mit einem symmetrischen Schlüssel berechnet, der vom Consumer für den Request an den Provider angelegt wird. Der Provider generiert einen neuen symmetrischen Schlüssel zur Verschlüsselung der Response. Der symmetrische Schlüssel selbst wird ebenfalls verschlüsselt übertragen. Dazu wird der asymmetrische öffentliche Schlüssel des Providers verwendet.

    • Sichere Konversation: Die SOAP-Message wird mit einem symmetrischen Session-Schlüssel signiert und verschlüsselt. Dieser Schlüssel wird für mehrere Request-/Response-Zyklen verwendet, bis die Session der sicheren Konversation beendet wird, z.B. wenn eine Sequenz einer Web Service Reliable Message terminiert wird. Die gewählte Verbindungssicherheit zusammen mit der gewählten Authentifizierungsmethode wird zum Aufbau der Session mit sicherer Konversation genutzt.

    • Erweiterter Schutz für Signatur und Header: Dies stellt zusätzliche Mittel zum Schutz von SOAP-Messages bereit, z.B. Signaturverschlüsselung, Signaturbestätigung und SOAP-Header-Verschlüsselung.

    Authentifizierungseinstellungen

    Hier legen Sie fest, wie der Consumer und der Provider sich gegenseitig authentifizieren. Sie müssen mindestens eine Option aus dem Abschnitt Authentifizierungsmethode auswählen, bevor der Service gesichert werden kann. Sie können auch mehrere Methoden auswählen.

    • Keine Authentifizierung: Dies legt fest, dass Ihr Service öffentlich ist. Die Authentifizierung erfolgt mit einem festen Benutzerkonto, das für diese Option angegeben wird. Dieses Benutzerkonto wird im ICF-Knoten des Bindings als Service-Benutzer gespeichert.

    • Authentifizierung auf Transportkanalebene: Die Authentifizierung erfolgt mit Hilfe des Transportkanals. Sie geben eine Benutzer-ID mit Kennwort, ein X.509-Client-Zertifikat oder eine Authentifizierung mittels SAP-Zusicherungsticket an. Die Authentifizierungsinformationen für Benutzer-ID/Kennwort und SAP-Zusicherungsticket werden als HTTP-Header übertragen. Weitere Informationen finden Sie unter Verwendung von Anmeldetickets mit AS ABAP.

      Das X.509-Client-Zertifikat funktioniert nur zusammen mit der Verbindungssicherheit SSL, bei der die Authentifizierung innerhalb der SSL-Schicht erfolgt.

    • Authentifizierung auf Nachrichtenebene: Die Authentifizierung erfolgt in der Web-Service-Messages selbst wie im Web-Service-Sicherheitsstandard definiert. Die Authentifizierungsinformationen werden im SOAP-Security-Header übertragen.

      Sie können folgende Arten der Authentifizierung auf Nachrichtenebene angeben: Benutzer-ID/Kennwort (Benutzername-Token), X.509-Zertifikat (X509-Token) oder Single Sign-On mit SAML (SAML-Token).

  9. (Optional) Sie können die SOAP-Protokollinformationen bearbeiten.

    Transport-Binding

    Hier wird die Zugriffs-URL des Bindings angezeigt. Sie können auch eine alternative URL für Messages festlegen, z.B. wenn Ihr Provider nur einen festen Zugriffspfad verwenden kann. Sie müssen einen alternativen Pfad angeben, wenn z.B. der Service nicht lokal ist oder sich hinter einer Firewall befindet. Der Zugriffspfad, den Sie als alternativen Zugriffspfad festlegen, fügt einen weiteren alternativen Zugriffspfad zum Web-Service hinzu.

    Behandlung von Message-Attachments

    Hier können Sie festlegen, ob der Consumer Message-Attachments senden darf, die nicht modelliert, sondern frei vom Consumer definiert werden.

    Identifiable Business Context

    Hier können Sie festlegen, wie der Identifiable Business Context identifiziert wird. Weitere Informationen finden Sie unter Sender- und Empfänger-IBC-Referenz auf Provider-Seite identifizieren.

  10. (Optional) Sie können die Operationseinstellungen ändern.

    Hier können Sie die Outbound-Message-Aktion und die SOAP-Aktion für die Operation festlegen. Sie können eine URL angeben, die den Zweck des Aufrufs beschreibt. Die SOAP-Aktion ist als ein HTTP-Header eingestellt, wenn der Web-Service-Aufruf über HTTP erfolgt.

  11. Schließen Sie den Assistenten ab, um das Binding zu sichern.

    Der Service kann jetzt unter seiner Zugriffs-URL von Web-Service-Consumern aufgerufen werden, und das WSDL-Dokument für den Service ist verfügbar.

Ergebnisse

Sie haben einen Web-Service-Provider konfiguriert. Dieser Provider kann jetzt von einem Consumer aufgerufen werden. Ein WSDL-Dokument steht jetzt für diesen Web-Service-Provider zur Verfügung. Sie können die URL des WSDL-Dokuments anzeigen, indem Sie das Symbol WSDL-Generierung für Service öffnen in der Spalte Service-Aktionen auf dem Register Konfigurationen wählen. Auch für das Binding steht eine WSDL zur Verfügung. Um die WSDL zu öffnen, wählen Sie WSDL-Generierung für Binding öffnen.

Auf dem Register Konfigurationen stehen folgende Aktionen für die Services und Bindings zur Verfügung:

  • Service und seine Bindings aktivieren / deaktivieren

  • Binding anzeigen, anlegen, bearbeiten, löschen

  • Service und seine Bindings löschen

  • WSDL-Generierung für Service öffnen

  • Binding erneut in Services Registry publizieren

    Jedes Binding wird automatisch in der lokalen Services Registry publiziert. Sie können das Binding manuell erneut publizieren.

  • WSDL-Generierung für Binding öffnen