Show TOC

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

 

Dieser Abschnitt erläutert die allgemeine Vorgehensweise, wie Sie ABAP-Proxys generieren, nachgenerieren und löschen. 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

Um mit ABAP-Proxys zu arbeiten muss Ihnen die Rolle SAP_XI_DEVELOPER_ABAP zugeordnet sein. Diese Rolle ist in der Sammelrolle SAP_XI_DEVELOPER enthalten. Verwenden Sie den Profilgenerator (Transaktion PFCG), um Rollen zuzuordnen.

Dem Proxy-Typ entsprechend müssen folgende Aufgaben vor der Proxy-Generierung ausgeführt werden:

  • Alle Objekte müssen im Enterprise Services Repository modelliert sein – oder als externe WSDL-Beschreibungen verfügbar sein.

    Wenn ein im ES Repository 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 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.

      Wenn Sie Änderungen vornehmen möchten, wählen Sie Bearbeiten.

    7. Sichern.

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

Proxys mit industriespezifischer Erweiterung generieren

Um Industrieklassifikationen zu aktivieren, müssen Sie eine Industrie auswählen, wenn Sie Proxies für Web-Services generieren, die mit einem Erweiterungspaket ausgeliefert werden. Führen Sie die folgenden Schritte aus:

  1. Melden Sie sich in englischer Sprache am Backend-System an.

  2. Starten Sie die Transaktion SM30.

  3. Wählen Sie die Sicht SVW_INDUSTRY.

  4. Wählen Sie Ihre Industrien aus.

Proxy nachgenerieren

Wenn ein Objekt im Enterprise Services Repository (ES Repository) nach seiner Generierung geändert wird, werden die Änderungen nicht automatisch im Proxy im ABAP-Backend-System nachgezogen. Wenn ein Objekt im ES Repository geändert wird, müssen Sie das entsprechende Proxy manuell nachgenerieren.

Hinweis Hinweis

Im ES Repository Browser gibt ein rotes Dreieck an, dass eine Version einer ES Repository-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 ES Repository 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 ES Repository. 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 ES Repository modellierte Operation. Für ein Proxy, das von einer Anwendung verwendet wird, müssen die Methoden mit Anwendungsquelltext gefüllt werden.