Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere-Webdienste » Webdienstclientfunktionen und -prozeduren erstellen

 

HTTP-Header ändern

Wenn Sie eine Webdienst-Prozedur mit der Anweisung CREATE PROCEDURE erstellen und einen HTTP HEADER ohne Doppelpunkt (:) und ohne Wert angeben, unterdrückt die HTTP-Clientanwendung den Header. Falls Sie einen Doppelpunkt, aber keinen Wert angeben, bezieht die HTTP-Clientanwendung den Headernamen ein, aber keinen Wert. Zum Beispiel:

CREATE PROCEDURE suds(...)
TYPE 'SOAP:RPC'
URL '...'
HEADER 'SOAPAction\nDate\nFrom:';

In diesem Beispiel werden die Action- und Date-HTTP-Header, die von SQL Anywhere automatisch erstellt werden, unterdrückt. Der From-Header wird ohne Wert einbezogen.

Das Ändern automatisch generierter Header kann unerwartete Ergebnisse haben. Die folgenden HTTP-Header werden normalerweise automatisch generiert und sollten nur mit größter Sorgfalt geändert werden.

HTTP-Header Beschreibung
Accept-Charset Wird immer automatisch generiert. Ändern oder Löschen kann zu unerwarteten Fehlern bei der Datenkonvertierung führen.
ASA-Id Wird immer automatisch generiert. Sorgt dafür, dass der Client keine Verbindung zu sich selbst aufbaut (also zum selben Server), was zu einem Deadlock führen könnte.
Authorization Automatisch generiert, wenn die URL Berechtigungsnachweise enthält. Ändern oder Löschen könnte zu einem Fehlschlag der Anforderung führen. Es wird lediglich die BASIC-Autorisierung unterstützt. Benutzer- und Kennwortdaten sollten nur bei Verbindungen über HTTPS einbezogen werden.
Connection "Connection: close", wird immer automatisch generiert. Der Client unterstützt keine dauerhaften Verbindungen. Dies sollte nicht geändert werden, da sich die Verbindung sonst aufhängen könnte.
Host Wird immer automatisch generiert. HTTP/1.1-Server müssen mit 400 Bad Request antworten, wenn ein HTTP/1.1-Client keinen Host-Header angibt.
Transfer-Encoding Automatisch generiert, wenn eine Anforderung im CHUNK-Modus gesendet wird. Das Entfernen dieses Headers oder das Löschen des Werts "chunked" führt zu einem Fehler, wenn der Client den CHUNK-Modus verwendet.
Content-Length Automatisch generiert, wenn eine Anforderung nicht im CHUNK-Modus gesendet wird. Dieser Header wird benötigt, um dem Server die Inhaltslänge des Hauptteils mitzuteilen. Wenn die Inhaltslänge falsch angegeben wird, kann sich die Verbindung aufhängen oder Daten können verloren gehen.