Nachfolgend finden Sie die allgemeine Vorgehensweise zum Generieren, Nachgenerieren und Löschen von Proxys. Zusatzinformationen zum Generieren spezieller Proxy-Typen stehen Ihnen in separaten Abschnitten zur Verfügung.
Der Generierungsprozess für ABAP-Proxys ist für jeden Proxy-Typ weitgehend identisch. Dabei sind zwei Schritte entscheidend:
Objekte für den Aufruf oder die Implementierung auswählen
Proxys generieren und aktivieren
Dem Proxy-Typ entsprechend müssen folgende Aufgaben vor der Proxy-Generierung ausgeführt werden:
Alle Objekte müssen im ESR modelliert sein – oder als externe WSDL-Beschreibungen verfügbar sein.
Wenn ein im ESR modelliertes Proxy für ein Objekt generiert wird, das auf ein anderes Objekt im gleichen Namensraum verweist, wird das Proxy für das referenzierte Objekt automatisch generiert. So kann z. B. ein Proxy für ein Service-Interface generiert werden, das auf einen bestimmten Datentyp verweist.
Wenn ein referenziertes Objekt in einem anderen Namensraum besteht, müssen Sie das Proxy für das referenzierte Objekt separat generieren.
Die Paketstruktur im ABAP-Backend-System muss definiert sein.
Die Paketstruktur definiert, wo die Proxys angelegt werden, wo sich der Haupt-Service-Provider befindet und wie sich die Pakete in die allgemeine Anwendungsstruktur einfügen.
Es können Präfixe für ABAP-Objekte definiert werden.
Es empfiehlt sich, Präfixe zu definieren, da durch diese sichergestellt wird, dass ABAP-Objekte im Backend-System eindeutige und konsistente Namen zugeordnet werden.
Sie müssen in dem System arbeiten, in dem Sie das Proxy generieren möchten. Proxys werden in dem ABAP-Backend-System generiert, in dem anschließend die Bereitstellung des Objekts erfolgt.
Starten Sie den Enterprise Services Repository Browser.
Verwenden Sie den Transaktionscode SPROXY.
Die Software-Komponentenversionen werden angezeigt.
Expandieren Sie die Knoten der Software-Komponentenversion und des Namensraums, in dem Sie ein Proxy generieren möchten.
Markieren Sie ein Objekt.
Für die Generierung des Proxys öffnen Sie das Kontextmenü und wählen Sie Proxy anlegen.
Geben Sie ein Paket und ein Präfix an und wählen Sie Fertigstellen.
Auf Grundlage des von Ihnen angegebenen Präfixes werden gültige ABAP-Namen vorgeschlagen. Sie können die vorgeschlagenen Namen bei Bedarf ändern.
Bei der Generierung des Proxys werden zudem alle zugrunde liegenden Objekte generiert.
Informationen zum generierten Proxy-Interface, wie die implementierende Proxy-Klasse und die generierte Service-Definition, finden Sie auf der Registerkarte Eigenschaften.
Das von Ihnen angegebene Präfix wird als Bestandteil des ABAP-Namens auf den Registerkarten Eigenschaften und Struktur angezeigt.
Die Registerkarten Externe Sicht und Interne Sicht zeigen entsprechend die Operationen und Methoden sowie die zugehörigen ABAP-Message-Typen und Datentypen.
Aktivieren Sie das Proxy.
Wenn das Proxy aktiviert wird, werden zudem automatisch alle zugrunde liegenden Objekte aktiviert.
Hinweis
ABAP-Objekte, wie Klasse, Interface und DDIC-Typ, werden erst dann im System angelegt, wenn Sie das Proxy aktivieren.
Geben Sie den Transportauftrag frei.
Verwenden Sie dazu Transaktion SE09.
Legen Sie eine Laufzeitkonfiguration für das Proxy an.
Hinweis
Eine Laufzeitkonfiguration wird nur für Service-Interfaces benötigt.
Starten Sie den SAP NetWeaver Administrator.
Wählen Sie in der Transaktion SOAMANAGER Zentrale Web-Service-Administration und melden Sie sich an.
Wählen Sie WS-Konfiguration.
Markieren Sie die Service-Definition, die automatisch während der Proxy-Generierung angelegt wurde.
Wählen Sie Endpunkt anlegen.
Ein Endpunkt enthält eine einzelne Laufzeitkonfiguration. Sie können unterschiedliche Endpunkte anlegen, um verschiedene Laufzeitverhalten für die gleiche Service-Definition festzulegen.
Geben Sie einen Namen für den Endpunkt an.
Ein Endpunkt muss in der Web-Service-Entität einen eindeutigen Namen haben.
Stellen Sie sicher, dass das Sicherheitsprofil Ihren Anforderungen entspricht.
Nehmen Sie Änderungen über die Drucktaste Bearbeiten vor.
Sichern.
Nun ist die Laufzeitkonfiguration mit einem Port-Typ im Backend-System verfügbar und kann in eine Anwendung integriert werden.
Wenn ein Objekt im Enterprise Services Repository (ESR) nach seiner Generierung geändert wird, werden die Änderungen nicht automatisch im Proxy im ABAP-Backend-System nachgezogen. Wenn ein Objekt im ESR geändert wird, müssen Sie das entsprechende Proxy manuell nachgenerieren.
Hinweis
Im ESR Browser gibt ein rotes Dreieck an, dass eine Version einer ESR-Entität von der Proxy-Version im ABAP-Backend-System abweicht.
Machen Sie im Enterprise Services Repository Browser das Objekt ausfindig, dessen Proxy Sie nachgenerieren möchten.
Öffnen Sie das Kontextmenü und wählen Sie Proxy nachgenerieren.
Diese Funktion ist nur verfügbar, wenn das Proxy bereits generiert wurde.
Es werden nur Proxy-Interfaces und -Klassen überschrieben. Die implementierende Klasse bleibt intakt, was bedeutet, dass die Implementierung nicht verloren geht.
Aktivieren Sie das Proxy erneut.
Wählen Sie aus dem Kontextmenü Proxy aktivieren.
Wenn das Proxy aktiviert wird, werden zudem automatisch alle zugrunde liegenden Objekte generiert.
Markieren Sie ein Objekt im ESR Browser.
Wählen Sie im Menü
.Hinweis
Standardmäßig wird die implementierende Klasse nicht gelöscht. Es werden nur die generierten Daten gelöscht. Zum Löschen der Provider-Klasse müssen Sie dem Löschvorgang explizit auf Systemanfrage zustimmen.
Wenn Proxy-Objekte aktiviert werden, erfolgt die Erstellung eines oder mehrerer der folgenden ABAP-Objekte:
ABAP-Dictionary-Typen
ABAP-Dictionary-Typen repräsentieren die globalen Datentypen im ESR. Das System generiert außerdem die Datentypen, die als Methodenparameter verwendet werden.
ABAP-Interface
Ein ABAP-Interface enthält Interface-Typen und Konstanten.
ABAP-Klasse (Proxy-Klasse oder implementierende Klasse) für Provider- und Consumer-Proxys
Die ABAP-Klasse eines Service-Providers enthält die Implementierung der Service-Provider-Methoden und verwendet ein ABAP-Interface. Eine Service-Provider-Klasse verfügt über eine Methode für jede im ESR modellierte Operation. Für ein Proxy, das von einer Anwendung verwendet wird, müssen die Methoden mit Anwendungs-Coding gefüllt werden.