Show TOC

Zustandslosen Web-Service konsumierenLocate this document in the navigation structure

Voraussetzungen

  • Die Web-Service-Laufzeit ist konfiguriert (weitere Informationen finden Sie unter: Web-Service-Laufzeit konfigurieren).

  • Sie haben ein Proxy generiert (siehe auch Consumer-Proxy generieren).

  • Sie haben das Consumer-Proxy konfiguriert.

    Weitere Informationen hierzu finden Sie im Abschnitt Consumer-Proxy konfigurieren.

  • Die Rolle SAP_BC_WEBSERVICE_CONSUMER wurde den Benutzerstammdaten des Benutzers zugeordnet, der den Aufruf beim Provider verarbeitet (siehe Authorizations). Der Benutzer beim Provider hängt von den Anmeldeeinstellungen des Provider-Enpunkts und/oder der Konfiguration des Consumer-Proxys ab. Entweder wird der Benutzer beim Consumer an den Provider übergeben, ein generischer Benutzer wie in der Consumer-Proxy-Konfiguration angegeben verwendet oder ein generischer Benutzer wie am Provider-Endpunkt angegeben verwendet.

Kontext

Die Interface-Pattern Zustandslos (XI 3.0-kompatibel), Zustandslos, Zustandsbehaftet und TU&C/C weisen jedem Service-Interface die Art der auszuführenden Kommunikation zu. Zustandslose Kommunikation bedeutet, dass von der Messaging-Laufzeit kein Speichern eines Zustandes beim Provider unterstützt wird, sobald die Messaging-Laufzeit den Message-Austausch erfolgreich abgeschlossen hat.

Je nach Interface-Pattern bietet der Service-Interface-Editor unterschiedliche Operation-Pattern und Modi an. Lesen Sie die Ausführungen zu Interface-Pattern und Operationen im Abschnitt Service-Interface in der Dokumentation zum Enterprise Services Repository..

Vorgehensweise

  1. Um einen synchronen Service von einer Anwendung aus aufzurufen, instanziieren Sie die Proxy-Klasse.

    DATA: lv_<client proxy name> TYPE REF TO <client proxy name>.

        CREATE OBJECT lv_<client proxy name>

          EXPORTING

              LOGICAL_PORT_NAME = ...

    Der logische Port muss angegeben werden, wenn kein Standardport vereinbart wurde.

  2. Füllen Sie die Abfrage-Datenstruktur aus.

    DATA: lv_<request data> TYPE <request data>.

              lv_<response data> TYPE <response data>.

  3. Rufen Sie den Service auf.

        CALL METHOD lv_<client proxy name>-><name of method / operation>

            EXPORTING

              INPUT = lv_<request data>

            IMPORTING

              OUTPUT = lv_<response data>

  4. Verschalen Sie die Proxy-Instanziierung und den Web-Service-Aufruf in einem TRY – CATCH-Block und führen Sie eine Fehlerbehandlung durch.

    TRY.

    ... CATCH cx_ai_system_fault INTO DATA(lx_ai_system_fault).

    <process error>

    CATCH <application error> INTO DATA(lx_<application_error>)

    <process error>

    ENDTRY

  5. Werten Sie die empfangenen Daten aus.

            <process the data>

Nächste Schritte

Die Laufzeit unterstützt Protokolle für weitere spezielle Dienste. Weitere Informationen finden Sie unter Protokolle.

Informationen zum Aufruf eines asynchronen Services aus einer Anwendung finden Sie unter Programmieren mit Sequenzen.

Sie können testen, wie sich der Web-Service verhält, wenn er von einer Anwendung aufgerufen wird. Markieren Sie das Proxy, das Sie generiert haben, und wählen Sie Test (F8).

Weitere Informationen finden Sie unter Arten der Message-Übermittlung.