Show TOC

Message sendenLocate this document in the navigation structure

Verwendung

Sie können ein Consumer-Proxy folgendermaßen einsetzen:

  • Um einen Service über den Integration Server aufzurufen.

  • Um einen Web Service aufzurufen.

Wie der Server-Proxy verwendet wird, hängt von der Laufzeitkonfiguration ab.

Vorgehensweise

Um eine Message zu versenden, rufen Sie den zugehörigen Consumer-Proxy in Ihrem Anwendungsprogramm auf.

Hinweis

Sie können ein Consumer-Proxy im Object Navigator markieren und per Drag&Drop in den Editor ziehen.

  1. Deklarieren Sie folgende Variablen:

    DATA:

    * Reference variables for proxy and exception class

       lo_clientProxy TYPE REF TO [generated proxy class],

    lo_sys_exception TYPE REF TO cx_ai_system_fault,

    * Structures to set and get message content

       ls_request TYPE [output message type],

       ls_response TYPE[input message type].

  2. Füllen Sie die Struktur ls_request für die Request-Message.

  3. Instanziieren Sie Ihr Consumer-Proxy:

    TRY.

    • create proxy client

      CREATE OBJECT lo_consumerProxy

      EXPORTING LOGICAL_PORT_NAME = 'LOGICAL_PORT_NAME'

      Hinweis

      LOGICAL_PORT_NAME ist der Name des logischen Ports, den Sie verwenden möchten. Er dient auch zur Definition des Empfängers. Dieser Parameter kann auch weggelassen werden, wenn ein voreingestellter Port verwendet werden soll oder die XI-Laufzeit (siehe Laufzeitkonfiguration) verwendet wird.

  4. Um eine Message zu versenden, rufen Sie die entsprechende Methode des Consumer-Proxys auf. WSDL lässt mehrere solcher Methoden zu (spezifiziert über das Element <operation>). Im XI-Fall gibt es nur eine Methode, deren Name auf EXECUTE_SYNCHRONOUS beziehungsweise EXECUTE_ASYNCHRONOUS voreingestellt ist. Fangen Sie mindestens die Ausnahme cx_ai_system_fault ab:

    * do synchronous consumer proxy call

    CALL METHOD lo_consumerProxy->execute_synchronous

    EXPORTING output = ls_request

    IMPORTING input = ls_response.

        CATCH cx_ai_system_fault INTO lo_sys_exception.

    *   Error handling

    ENDTRY.

    Hinweis

    Siehe auch: Fehlerbehandlung.