Für die Bereitstellung eines Web Service muss ein so genannter Provider-Proxy angelegt werden. Provider-Proxys werden in dem ABAP-Backend-System angelegt und implementiert, in dem der Service bereitgestellt wird.
Ein Provider-Proxy hat folgende Bestandteile:
Ein ABAP-Objekt-Interface
Eine implementierende Klasse
Eine Vorlage für die implementierende Klasse wird bei der Proxy-Generierung angelegt. Ein Entwickler muss der implementierenden Klasse den entsprechenden Anwendungscode hinzufügen. Das ABAP-Objekt-Interface wird nicht verändert.
Ein Provider-Proxy basiert auf einem Inbound-Service-Interface.
Ein Provider-Proxy muss in dem ABAP-Backend-System generiert werden, in dem der Service bereitgestellt wird.
Provider-Proxys können nur für Objekte im Enterprise Services Repository generiert werden. Das zugehörige ES Repository-Objekt ist ein Inbound-Service-Interface.
Die folgenden Objekte müssen bereits im Enterprise Services Repository entworfen worden sein, um ein Provider-Proxy zu generieren:
Datentypen
Message-Typen
Service-Interface und dessen Operationen
Sie arbeiten mit dem Enterprise Services Repository Browser im Backend-System.
Der allgemeinen Vorgehensweise für die Proxy-Generierung folgend, führen Sie folgende Schritte aus:
Generieren Sie ein Provider-Proxy für ein Inbound-Service-Interface.
Aktivieren Sie das Provider-Proxy.
Wenn das Provider-Proxy aktiviert wird, werden zudem alle zugrunde liegenden Datentypen und Message-Typen aktiviert.
Implementieren Sie das Provider-Proxy.
Für die Implementierung eines Provider-Proxys müssen Sie Anwendungs-Coding hinzufügen.
Für den Aufruf eines Web Service müssen Sie eine Laufzeitkonfiguration anlegen.
Verwenden Sie dazu den SAP NetWeaver Administrator. Starten Sie dieses Werkzeug vom SOA Manager (Transaktionscode SOAMANAGER) aus.
Nun existiert ein aktiver Provider-Proxy in dem ABAP-Backend-System, in dem der Service bereitgestellt wird.
Das Provider-Proxy enthält ein ABAP-Proxy-Interface und eine implementierende Klasse, die das Proxy-Interface verwendet. Die implementierende Klasse enthält die Operationen, die im Enterprise Services Repository als Methoden modelliert wurden.
Nachstehend finden Sie ein Implementierungsbeispiel für eine Methode, die ein Echo der importierten Daten zurückgibt:
Syntax
1. METHOD ZMY_II_SYNCHRON_INBOUND_INTERF~EXECUTE_SYNCHRONOUS.
2. **** INSERT IMPLEMENTATION HERE ****
3. OUTPUT-RESPONSE_MESSAGE_TYPE-SIMPLE =
4. INPUT-REQUEST_MESSAGE_TYPE-SIMPLE.
5. ENDMETHOD.