
Um einen Web-Service zu konsumieren, müssen Sie zuerst ein Consumer-Proxy anlegen. Das Consumer-Proxy kapselt die Kommunikation und übernimmt die Kontrolle über die technischen Abläufe. Über das Consumer-Proxy wird eine Verbindung zum Server des gewünschten Web-Services aufgebaut. Während der Entwickler die Geschäftsanwendung programmiert, wird der technische Teil - zum Beispiel das automatische Verpacken von Aufrufen zu einer SOAP-Message oder die Auswertung eintreffender Messages - mit Hilfe des Proxys erledigt.
Für einen Service-Consumer spielt es keine Rolle, welche Technologie auf der Seite des Service-Providers verwendet wird. Die Nutzung von Web-Services aus Fremdsystemen ist vollkommen unabhängig von der dahinter liegenden Implementierung möglich.
Nach der Generierung des Consumer-Proxy können Sie den Service aus einem Programm heraus aufrufen.
Die Konsumierung von Services besteht aus folgenden Schritten:
Anstatt Service-Consumer im Enterprise Services Repository zu modellieren und dann Proxys zu generieren, können Sie Service-Consumer auch direkt im ABAP-Backend anlegen. Wenn Sie einen Service-Consumer im Backend modellieren, ist keine gesonderte Consumer-Proxy-Generierung erforderlich. Weitere Informationen finden Sie unter Service-Consumer mit dem Metadaten Repository (MDR) anlegen. Sie können auch das WSDL-Dokument eines externen Service-Providers verwenden, um ein Consumer-Proxy zu generieren.
Allgemein gilt die Richtlinie, dass Sie dann einen Web-Service-Consumer modellieren, wenn Sie auch den entsprechenden Web-Service-Provider modelliert haben. Wenn Sie einen Web-Service von einem externen Provider konsumieren möchten, verwenden Sie dessen WSDL-Dokument als Basis.
Service-Consumer konfigurieren
Bei der Proxy-Generierung werden alle zum Aufruf eines Web-Services benötigten Objekte angelegt. Bei der Konfiguration wird der logische Port angelegt. Hierbei handelt es sich um ein SAP-spezifisches Konzept zur Konfiguration der Laufzeit-Features für Consumer-Proxys. Laufzeit-Features sind Eigenschaften, die in der Laufzeitumgebung zum Aktivierungszeitpunkt des Service-Consumers konfiguriert werden müssen. So enthält der logische Port beispielsweise die URL-Adresse, unter welcher der Service aufgerufen werden soll.
Weitere Informationen finden Sie im Abschnitt Consumer-Proxy konfigurieren (SOA-Manager). Lesen Sie auch den Abschnitt Mit Service-Gruppen arbeiten.
Service aus einer Anwendung aufrufen
Bei der Proxy-Generierung werden eine Proxy-Klasse und Datentypen für die Parameterübergabe generiert.
Beim Outside-In-Ansatz wird der Web-Service im ES Repository oder im ABAP-Backend modelliert. Durch die Wahl eines Interface-Pattern bei der Modellierung eines Service-Interfaces wird bestimmt, welches Programmiermodell und welche Verarbeitungsart eines Web-Services verwendet werden soll.
Im Abschnitt Interface-Patterns werden folgende Bereiche behandelt:
Zustandslosen Web-Service konsumieren
Zustandslosen Web-Service (XI 3.0-kompatibel) konsumieren
Zustandsbehafteten Web-Service konsumieren
TU&C/C-Web-Service konsumieren
Während die Interface-Patterns Zustandslos und TU&C/C sowohl mit synchroner als auch asynchroner Kommunikation verwendet werden können, unterstützen die Interface-Patterns Zustandsbehaftet und Zustandslos (XI 3.0-kompatibel) nur die synchrone Kommunikation.
Arten der Message-Übermittlung
Sie können auf der Consumer-Seite einen Mapping-Mechanismus für die Konsumierung unterschiedlicher Services für den gleichen Zweck verwenden. Weitere Informationen finden Sie unter Mit Consumer-Mappings arbeiten.