Lade...
 

CX_HTTP_REQUEST

CX_HTTP_REQUEST

Klassenhierarchie
Beschreibung:

Klasse, um im InstantView-Code die verschiedenen Aspekte eines http-Requests geordnet zugreifbar zu machen. Wird über einen HTTP-Request eine Message aufgerufen, so liegt ein Objekt vom Typ CX_HTTP_REQUEST auf dem Stack.

Die Spezifikation eines http-Requests findet sich unter http://tools.ietf.org/html/rfc2616#section-5

Die Spezifikation zur Zerlegung der Request-URL findet sich hier: http://tools.ietf.org/html/rfc2616#section-3.2.2

 

Die Klasse unterscheidet zwischen URL(Query)- und Body-Parametern. Query-Parameter werden bei der HTTP-Anfrage in der URL in der Form ?name=wert&name2=wert2 mitgesendet. Bei HTML-Formularen vom Typ POST werden die Parameter normaler Weise im Body übermittelt. Der Content-Type wird dann entprechend auf application/x-www-form-urlencoded oder formdata/multipart gesetzt. Wenn der Webservice-Server einen solchen Content-Type erkennt, dann wird der Body interpretiert und die Body-Parameter von den Query-Parametern getrennt gespeichert. Dadurch kann eine über den Webservice eingegangene Anfrage bei SendRequest wieder korrekt rekonstruiert werden.

 

Code-Beispiel:

Der http-Request

GET /call_person?person_name=Schmidt

würde an die folgende Message-Implementierung weitergeleitet werden:

CALL_PERSON_GET: "person_name" Swap Call(GetParameter) GetPersonFromName FormatPersonAsJSON ReturnStack

Zu beachten ist hierbei, dass der ursprüngliche Request-Pfad ("call_person") in Großbuchstaben umgewandelt und die Methode ("GET") angehängt wurde, um den Namen der aufzurufenden Message zu erhalten.

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
GetBody     STRING Liefert den Body des HTTP-Requests aus
GetBodyAsBase64
222628
    STRING Liefert den Body als Base64-kodierten String zurück
GetBodyAsFile
222628
  STRING   Schreibt den Body in die angegebene Datei
GetParameterNames     VECTOR Liefert die Namen der URL- und Body-Parameter zurück.
GetParameter   STRING STRING Liefert den Wert eines spezifischen URL- oder Body-Parameters zurück
GetHeaderNames     VECTOR Liefert die Namen der HTTP-Header des Requests zurück
GetHeader   STRING STRING Liefert den Wert eines spezifischen HTTP-Headers zurück
GetHostName     STRING Liefert den Zielhost der Anfrage
GetMethod     STRING Liefert die HTTP-Methode zurück (GET/POST/PUT/DELETE/...)
GetTime     CX_DATETIME Wenn SetReceiveMessage im WebService-Manager gesetzt ist, dann wird der Zeitpunkt der Anfrage zurückgegeben
GetURL     STRING Liefert den relativen Pfad, der bei der Anfrage angegeben wurde.
Im Beispiel oben: "/call_person"
SetBody   STRING   Setzt den HTTP-Body
SetBodyFromBase64
222628
  STRING   Setzt den Body aus einem Base64-kodierten String
SetBodyFromFile
222628
  STRING   Setzt den Body aus dem Inhalt der übergebenen Datei
SetHeader   STRING, STRING   Setzt einen HTTP-Anfrageheader
SetMethod   STRING   Setzt den HTTP Anfragetyp (GET,POST,HEAD,PUT,CONNECT,TRACE)
SetParameter   STRING, STRING   Setzt einen HTTP-Request-Parameter
SetProxy   STRING   Setzt den Proxy, der für SendRequest verwendet werden soll.
SetQueryParameter   STRING, STRING   Setzt einen HTTP-Query-Parameter
SetURL   STRING   Setzt die Anfrage-url (& protocol, port, host, query)

* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
         

* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung