Mit dieser Funktion kann ein Webdienst eine HTTP-Option im Ergebnis festlegen.
sa_set_http_option( Optionsname, Wert )
Optionsname Verwenden Sie diesen CHAR(128)-Parameter, um eine Zeichenfolge anzugeben, die den Namen einer der HTTP-Optionen enthält.
Wert Verwenden Sie diesen LONG VARCHAR-Parameter, um den Wert anzugeben, auf den die benannte Option gesetzt werden soll.
Verwenden Sie diese Prozedur innerhalb von Anweisungen oder Prozeduren im Zusammenhang mit Webdiensten, um Optionen innerhalb einer HTTP-Ergebnismenge zu setzen.
Die unterstützten Optionen sind folgende:
CharsetConversion Verwenden Sie diese Option, um zu steuern, ob die Ergebnismenge automatisch vom Zeichensatz der Datenbank in den Zeichensatz des Clients konvertiert werden soll. Die einzigen zulässigen Werte sind ON und OFF. Der Standardwert ist ON. Weitere Hinweise finden Sie unter Automatische Zeichensatzkonvertierung verwenden.
AcceptCharset Verwenden Sie diese Option, um den Antwort-Zeichensatz für XML-, SOAP- und HTTP-Webdienste anzugeben. Die Syntax dieser Option entspricht der Syntax, die bei der Angabe des Anforderungsheader-Felds "Accept-Charset" im RFC2616 Hypertext Transfer Protocol verwendet wird.
Um eine Liste von akzeptierbaren Zeichensätzen festzulegen, kann der HTTP-Client einen Accept-Charset-Anforderungsheader in die Anforderung einbeziehen, die an den Datenbankserver gesendet wird. Der Accept-Charset-Anforderungsheader gibt an, welchen Zeichensatz der Datenbankserver für seine Antwort verwenden soll. Beim Versenden der Antwort wird ein Zeichensatz verwendet, der sowohl vom Client als auch vom Datenbankserver unterstützt wird.
Wenn der Accept-Charset-Anforderungsheader nicht angegeben ist, wird ein vom Client bevorzugter Zeichensatz verwendet, der auch vom Datenbankserver unterstützt wird. Wenn der Datenbankserver keinen Zeichensatz unterstützt, der vom Client angegeben wird oder kein Accept-Charset-Anforderungsheader angegeben ist, wird der Zeichensatz der Datenbank verwendet.
Wenn der Client keinen Accept-Charset-Anforderungsheader sendet, verwendet der Datenbankserver den ersten Zeichensatz, der von der AcceptCharset-Option angegeben wird.
Wenn der Client einen Accept-Charset-Anforderungsheader angibt und auch eine Zeichensatzliste durch eine AcceptCharset HTTP-Option festgelegt ist, wird der bevorzugte Zeichensatz des Clients verwendet, der vom Datenbankserver unterstützt wird. Wenn der Datenbankserver keinen Zeichensatz unterstützt, der vom Client angegeben wurde, wird der erste von der AcceptCharset HTTP-Option angegebene Zeichensatz verwendet.
Ein Pluszeichen (+) in der AcceptCharset HTTP-Option weist den Datenbankserver an, den Datenbank-Zeichensatz zu verwenden.
Zum Beispiel, ( ‘AcceptCharset’, ‘+,UTF-8,*’)
. Wo dies möglich ist, wird der Datenbank-Zeichensatz verwendet, auch wenn der Client einen Zeichensatz bevorzugt, der sowohl
auf dem Client als auch auf dem Datenbankserver vorhanden ist. Wenn der Datenbank-Zeichensatz für Antworten verwendet wird,
ist keine Zeichensatzkonvertierung erforderlich, wodurch die Antwortzeiten des Datenbankservers verbessert werden.
Ein Stern (*) in der AcceptCharset HTTP-Option weist den Datenbankserver an, einen Zeichensatz aus der Accept-Charset-Liste des Clients zu verwenden. Wenn kein gemeinsamer Zeichensatz vorhanden ist, wird der erste, in der Option AcceptCharset angegebene Zeichensatz verwendet.
SessionId Verwenden Sie diese Option, um einen Namen für eine HTTP-Sitzung zu setzen. Beispiel: sa_set_http_option( 'SessionId', 'my_app_session_1' )
definiert die ID für eine HTTP-Sitzung auf my_app_session_1. SessionId muss eine Nicht-NULL-Zeichenfolge sein. Weitere Hinweise
zu HTTP-Sitzungen finden Sie unter HTTP-Sitzungen verwenden.
SessionTimeout Verwenden Sie diese Option, um anzugeben, wie viele Minuten die HTTP-Sitzung während einer Inaktivitätsphase erhalten bleibt. Die Option SessionTimeout wird zurückgesetzt, wenn eine HTTP-Anforderung, die die Sitzung benutzt, eine Antwort sendet.
Keine
Keine
Im folgenden Beispiel wird die Verwendung des Datenbank-Zeichensatzes festgelegt, wenn er akzeptiert werden kann. Wenn der Datenbank-Zeichensatz nicht akzeptiert werden kann, wird UTF-8 als Alternative angegeben. Wenn UTF-8 nicht verwendet werden kann, gibt der Stern (*) die Verwendung des Zeichensatzes an, der vom Client bevorzugt und vom Datenbankserver unterstützt wird:
sa_set_http_option( ‘AcceptCharset’, ‘+,UTF-8,*’); |
Der folgende Pseudocode zeigt, wie die Option AcceptCharset verwendet wird:
if -- client sends an Accept-Charset header then if -- no AcceptCharset HTTP option set then if -- at least one of the client charsets are supported then use most preferred client charset that is also supported by the server else use dbcharset end if; else -- an AcceptCharset HTTP option was set if -- at least one of the client charsets is also in the HTTP option charset list and is supported by the server then use most preferred client charset that is also in the HTTP option charset list and is supported by the server(1) else use the first charset listed in the AcceptCharset HTTP option end if; end if else -- client did not send an Accept-Charset header if -- no AcceptCharset HTTP option set then use dbcharset else -- an AcceptCharset HTTP option was set use the first charset listed in the AcceptCharset HTTP option end if end if; |
Im folgenden Beispiel wird die Zeitüberschreitung für eine HTTP-Sitzung auf 5 Minuten festgelegt:
CALL sa_set_http_option('SessionTimeout', '5'); |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |