Anfang des Inhaltsbereichs

Funktionsdokumentation Attachments  Dokument im Navigationsbaum lokalisieren

Verwendung

Ein Attachment besteht aus beliebigen Daten (zum Beispiel Text, Grafiken), die an eine Message angehängt werden können. Sie können beliebig viele Attachments an eine Request- oder Response-Message hängen, um sie dem Empfänger zu übermitteln.

Voraussetzungen

Beachten Sie, dass nicht alle Empfänger einer Message Attachments verstehen können und daher gegebenenfalls ignorieren. Die Proxy-Laufzeit (ABAP/Java) kann Attachments verarbeiten, die meisten Adapter wiederum nicht.

Funktionsumfang

Methoden des Protokolls IF_WSPROTOCOL_ATTACHMENTS

Methode

Bedeutung

GET_ATTACHMENT_FROM_TEXT

Gibt ein Attachment-Objekt für einen Parameter vom Typ STRING zurück.

GET_ATTACHMENT_FROM_BINARY

Gibt ein Attachment-Objekt für einen Parameter vom Typ XSTRING zurück.

SET_ATTACHMENTS

Hängt ein oder mehrere Attachment-Objekte über eine Tabelle an die Output-Message.

GET_ATTACHMENTS

Gibt beim Empfänger eine Tabelle mit Attachment-Objekten zurück.

RESET_ATTACHMENTS

Löscht die Attachment-Tabelle für die Output-Message.

Attachment-Objekte

Attachment-Objekte implementieren das Interface IF_AI_ATTACHMENT. Um den Typ des Attachments anzugeben, bietet dieses Interface eine Auswahl an Konstanten an, beispielsweise IF_AI_ATTACHMENT=>C_MIMETYPE_TEXT_HTML. Diesen müssen Sie angeben, wenn Sie ein Attachment-Objekt anlegen.

Methoden des Interface IF_AI_ATTACHMENT

Methode

Bedeutung

GET_KIND

Gibt die Art des Attachments zurück, und zwar entweder IF_AI_ATTACHMENT=>C_ATTACH_TYPE_BINARY oder IF_AI_ATTACHMENT=>C_ATTACH_TYPE_TEXT.

GET_CONTENT_TYPE

Gibt den Typ des Attachments zurück

GET_TEXT_DATA

Nur zu verwenden für Attachment-Objekte vom Typ IF_AI_ATTACHMENT=>C_ATTACH_TYPE_TEXT. Gibt die Daten des Attachments als STRING zurück.

GET_BINARY_DATA

Gibt die Daten des Attachments als XSTRING zurück. Sie können diese Methode für beide Arten von Attachments verwenden.

GET_DOCUMENT_NAME

Gibt den Namen des Attachments zurück.

Aktivitäten

Senderseite

...

       1.      Holen Sie sich ein Protokoll-Objekt für das Protokoll IF_WSPROTOCOL_ATTACHMENTS (siehe Protokolle).

       2.      Sowohl beim Sender als auch beim Empfänger von Attachments müssen Sie folgende Variablen deklarieren:

data: lt_attach    type prx_attach,
      l_name       type string,
      l_xstring    type xstring,
      l_string     type string,
      l_type       type string,

      l_attachment type ref to if_ai_attachment.

       3.      Erzeugen Sie beim Sender Attachment-Objekte über die Methode GET_ATTACHMENT_FROM_BINARY() und hängen Sie sie an die Tabelle lt_attach. Für String-Attachments können Sie auch die Methode GET_ATTACHMENT_FROM_TEXT() verwenden.

       4.      Übergeben Sie die Tabelle lt_attach an die ABAP-Proxy-Laufzeit mit der Methode SET_ATTACHMENTS() des Attachment-Protokolls.

       5.      Rufen Sie den Client-Proxy auf (siehe auch: Eine Message versenden).

Empfängerseite

       6.      Deklarieren Sie beim Empfänger die gleichen Variablen wie im zweiten Schritt und holen Sie sich ein Protokoll-Objekt für das Protokoll IF_WSPROTOCOL_ATTACHMENTS (siehe Protokolle).

       7.      Holen Sie sich mit der Methode GET_ATTACHMENTS() des Attachment-Protokolls die Attachment-Tabelle. Achten Sie beim Lesen der Attachments darauf, dass Sie mit der Methode GET_KIND() vor dem Zugriff auf die Daten prüfen, welchen Typ das Attachment-Objekt hat.

Achtung

Nach dem Holen von Attachments der Input-Message können Sie im synchronen Fall für die Output-Message Attachments mit SET_ATTACHMENTS()setzen. Da es nur ein Protokoll-Objekt zum Attachment-Protokoll gibt, überschreiben Sie damit die Attachments der Input-Message. Wenn Sie keine Attachments zurückschicken möchten, rufen Sie die Methode RESET_ATTACHMENTS() auf, damit empfangene Attachments gelöscht und nicht zurückgeschickt werden.

 

 

 

 

Ende des Inhaltsbereichs