Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Sequenzen in anderen Modulen verwenden  Dokument im Navigationsbaum lokalisieren

Proxy-Objekte, die in einem Programm-Modul angelegt wurden, können auch in anderen Modulen verwendet werden. Dies kommt beispielweise vor, wenn die Referenz auf ein Proxy-Objekt als Parameter für einen Methoden-Aufruf verwendet wird und dieser Parameter für Aufrufe von Web Services innerhalb dieser Methode genutzt wird.

Wenn die „In-order“-Prozessierung für das Proxy-Objekt mit Hilfe einer aktiven Sequenz im aufrufenden Programm aktiv war, dann werden die Aufrufe aller Methoden dieses Objekts im gerufenen Modul ebenfalls „in order“ prozessiert.

Wenn, auf der anderen Seite, die „In-Order-Verarbeitung“ im aufrufenden Programm nicht aktiv war, dann kann eine „In-Order-Prozessierung“ noch durch die Verwendung von Sequenzen im aufgerufenen Modul sichergestellt werden.

 

  method mycall.  “importing proxy ref to co_my_proxy
    l_seqprot  type ref to if_wsprotocol_sequence,
    l_sequence type ref to if_ws_client_sequence.
    l_seqprot ?= proxy->get_protocol( if_ws_protocol=>sequence ).
    l_sequence = l_seqprot->get_client_sequence( ).

    if l_sequence is not bound.

      l_sequence = l_seqprot->create_transient_sequence( ).

    endif.

    l_sequence->begin( ).

    l_seqprot->set_client_sequence( l_sequence ).
    proxy->m1( ).

    proxy->m2( ).

    l_sequence->end( ).

  endmethod.

Wurde eine Sequenz für ein Proxy im aufrufenden Programm angelegt und diese Sequenz ist aktiv, dann gibt die Methode GET_CLIENT_SEQUENCE der Sequenz eine Interface-Referenz vom Typ IF_WS_CLIENT_SEQUENCE zurück.

 

Ende des Inhaltsbereichs