Get-Methode

Übersicht

Typ

Methode

Verfügbar ab

V1.0.0.0

G-SE-0076331.2.gif-high.gif

 

 

Aufgabe

Die Methode Get initialisiert die Methode HTTP zur Anforderung einer Darstellung der angegebenen Ressource.

Funktionsbeschreibung

Durch Verwendung der Eingänge i_sHost (obligatorisch) und i_sResource wird der Standard-Header einer HTTP-Anfrage erstellt. Wenn zusätzliche Informationen im Header hinzugefügt werden müssen, müssen diese über den Eingang i_anyAdditionalHeader übergeben werden. Die diesem Eingang zugewiesenen Daten werden nicht geprüft. Am Eingang i_anyResponseBuffer müssen Sie einen Puffer mit ausreichender Größe zur Speicherung der gesamten vom Server empfangenen Antwort zuweisen.

Der Rückgabewert der Methode ist vom Typ BOOL und gibt an, ob die Ausführung der Methode erfolgreich war (TRUE) oder nicht (FALSE). Werten Sie die Diagnoseausgänge der Methode aus, wenn der Rückgabewert FALSE sein sollte. Ein von diesen Ausgängen signalisierter Fehler braucht nicht zurückgesetzt zu werden. Zum Abrufen des Verarbeitungsstatus muss die Eigenschaft State verwendet werden.

Ein Aufruf der Methode Get ist nur im Zustand Connected zulässig.

Implementierungsbeispiel

Das folgende Beispiel zeigt, wie eine HTTP-Anfrage nach dem Aufruf der Methode Get aussieht.

Methodenaufruf:

sAdditionalHeader := 'Content-Type: application/json$r$nConnection: Keep-Alive';

fbHTTP.Get(   i_sRessource:= 'example',
              i_sHost:= 'se.com',
              i_anyAdditionalHeader:= sAdditionalHeader,
              i_anyResponseBuffer:= sResponse);

Resultierende HTTP-Anfrage:

GET /example HTTP/1.1
Host: se.com
Content-Length: 0
Content-Type: application/json
Connection: Keep-Alive

Übergang des Clientzustands

Schritt

Beschreibung

1

Ausgangszustand: Connected

2

Funktionsaufruf

3

Zustand: SendingRequest, andernfalls wird ein Fehler erkannt.

4

Endzustand: ResponseAvailable, andernfalls wird ein Fehler erkannt.

HINWEIS: Wenn Online-Änderungen vorgenommen werden, während der Funktionsbaustein eine Get-Anfrage verarbeitet, wird die Ausführung abgebrochen, um eine potenzielle Zugriffsver­letzung durch die Verarbeitung fehlerhafter Zeigeradressen zu vermeiden.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_sResource

STRING[GPL.Gc_uiMaxLengthOfResource]

Gibt die Ressource auf dem Host an, die über die Anfrage erreicht werden soll.

i_sHost

STRING[GPL.Gc_uiMaxHostSize]

Gibt die Adresse des Hosts an, falls erforderlich in Verbindung mit dem Port.

i_anyAdditionalHeader

ANY_STRING

Gibt die im Header der HTTP-Anfrage hinzuzufügenden zusätzlichen Einträge an.

i_anyResponseBuffer

ANY

Puffer zur Speicherung der Antwort vom Server.

Ausgang

Datentyp

Beschreibung

q_xError

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, wurde ein Fehler identifiziert. Für weitere Informationen, siehe q_etResult und q_etResultMsg,

q_etResult

ET_Result

Stellt Diagnose- und Statusinformationen in Form numerischer Werte bereit.

q_sResultMsg

STRING[80]

Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit.