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

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » HTTP-Webdienste » Zugriff auf Webdienste mithilfe von Webclients » Webclient-Anwendungsentwicklung » Anforderungen und Empfehlungen für Webclient-Funktionen und -Prozeduren

 

HTTP-Anforderungsheader verwalten

HTTP-Anforderungsheader können hinzugefügt, geändert oder entfernt werden, indem Sie die HEADER-Klausel der Anweisungen CREATE PROCEDURE und CREATE FUNCTION verwenden. Sie unterdrücken einen HTTP-Anforderungsheader durch die Referenzierung des Namens. Sie fügen einen Wert für den HTTP-Anforderungsheader hinzu, indem Sie nach dem Headernamen einen Doppelpunkt gefolgt vom Wert einfügen. Header-Wertangaben sind optional.

Führen Sie z.B. die folgende SQL-Anweisung in der Webclient-Datenbank aus, um eine Prozedur namens SomeOperation2 zu erstellen, die Anforderungen an die angegebene URL sendet und die HTTP-Anforderungsheader einschränkt:

CREATE PROCEDURE SomeOperation2()
    URL 'HTTP://localhost:8082/dbname/SampleWebService'
    TYPE 'HTTP:GET'
    HEADER 'SOAPAction\nDate\nFrom:\nCustomAlias:John Doe';

In diesem Beispiel wird der Date-Header, der von SQL Anywhere automatisch erstellt wird, unterdrückt. Der From-Header wird aufgenommen, ihm wird jedoch kein Wert zugewiesen. Ein neuer Header namens CustomAlias wird in die HTTP-Anforderung aufgenommen und erhält den Wert John Doe. Die GET-Anforderung sieht wie folgt aus:

GET /dbname/SampleWebService HTTP/1.0
ASA-Id: e88a416e24154682bf81694feaf03052
User-Agent: SQLAnywhere/12.0.1.3600
Accept-Charset: windows-1252, UTF-8, *
From: 
Host: localhost:8082
Connection: close
CustomAlias: John Doe

Das Umbrechen langer Headerwerte wird unterstützt, sofern ein oder mehrere Leerzeichen dem \n unmittelbar folgen.

Das folgende Beispiel zeigt die Unterstützung langer Headerwerte:

CREATE PROCEDURE SomeOperation3()
    URL 'HTTP://localhost:8082/dbname/SampleWebService'
    TYPE 'HTTP:POST'
    HEADER 'heading1: This long value\n is really long for a header.\n 
    heading2:shortvalue';

Die POST-Anforderung sieht wie folgt aus:



POST /dbname/SampleWebService HTTP/1.0
ASA-Id: e88a416e24154682bf81694feaf03052
User-Agent: SQLAnywhere/12.0.1.3600
Accept-Charset: windows-1252, UTF-8, *
Date: Fri, 03 Feb 2012 15:26:04 GMT
heading1: This long value is really long for a header.     heading2:shortvalue
Host: localhost:8082
Connection: close
Content-Type: application/x-www-form-urlencoded; charset=windows-1252
Content-Length: 0
Hinweis

Sie müssen den SOAPAction-HTTP-Anforderungsheader in dem angegebenen SOAP-Dienst-URI gemäß der WSDL einstellen, wenn Sie eine SOAP-Funktion oder -Prozedur erstellen.

 Automatisch generierte HTTP-Anforderungsheader
 Siehe auch