Show TOC

Dokumentation zur VorgehensweiseABAP-Proxy-Generierung – Allgemeine Vorgehensweise Dieses Dokument in der Navigationsstruktur finden

 

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

Voraussetzungen

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.

Vorgehensweise

Proxy generieren

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.

  1. Starten Sie den Enterprise Services Repository Browser.

    Verwenden Sie den Transaktionscode SPROXY.

    Die Software-Komponentenversionen werden angezeigt.

  2. Expandieren Sie die Knoten der Software-Komponentenversion und des Namensraums, in dem Sie ein Proxy generieren möchten.

  3. Markieren Sie ein Objekt.

  4. Für die Generierung des Proxys öffnen Sie das Kontextmenü und wählen Sie Proxy anlegen.

  5. 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.

  6. Aktivieren Sie das Proxy.

    Wenn das Proxy aktiviert wird, werden zudem automatisch alle zugrunde liegenden Objekte aktiviert.

    Hinweis Hinweis

    ABAP-Objekte, wie Klasse, Interface und DDIC-Typ, werden erst dann im System angelegt, wenn Sie das Proxy aktivieren.

    Ende des Hinweises
  7. Geben Sie den Transportauftrag frei.

    Verwenden Sie dazu Transaktion SE09.

  8. Legen Sie eine Laufzeitkonfiguration für das Proxy an.

    Hinweis Hinweis

    Eine Laufzeitkonfiguration wird nur für Service-Interfaces benötigt.

    Ende des Hinweises
    1. Starten Sie den SAP NetWeaver Administrator.

      Wählen Sie in der Transaktion SOAMANAGER Zentrale Web-Service-Administration und melden Sie sich an.

    2. Wählen Sie WS-Konfiguration.

    3. Markieren Sie die Service-Definition, die automatisch während der Proxy-Generierung angelegt wurde.

    4. 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.

    5. Geben Sie einen Namen für den Endpunkt an.

      Ein Endpunkt muss in der Web-Service-Entität einen eindeutigen Namen haben.

    6. Stellen Sie sicher, dass das Sicherheitsprofil Ihren Anforderungen entspricht.

      Nehmen Sie Änderungen über die Drucktaste Bearbeiten vor.

    7. Sichern.

      Nun ist die Laufzeitkonfiguration mit einem Port-Typ im Backend-System verfügbar und kann in eine Anwendung integriert werden.

Proxy nachgenerieren

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 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.

Ende des Hinweises
  1. Machen Sie im Enterprise Services Repository Browser das Objekt ausfindig, dessen Proxy Sie nachgenerieren möchten.

  2. Ö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.

  3. 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.

Proxy löschen
  1. Markieren Sie ein Objekt im ESR Browser.

  2. Wählen Sie im Menü   Proxy   Löschen  .

    Hinweis 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.

    Ende des Hinweises

Ergebnis

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.