CX_HTTP_REQUEST
Klassenhierarchie
- CX_CLASS
- CX_HTTP_REQUEST 159571
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
würde an die folgende Message-Implementierung weitergeleitet werden:
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.
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-ur |
* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|