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 - SQL-Referenzhandbuch » Systemobjekte » Systemprozeduren » Alphabetische Liste der Systemprozeduren

 

sa_set_http_option-Systemprozedur

Mit dieser Funktion kann ein Webdienst eine HTTP-Option im Ergebnis festlegen.

Syntax
sa_set_http_option( 
Optionsname, 
Wert 
 )
Argumente
  • 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.

Bemerkungen

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.

Berechtigungen

Keine

Nebenwirkungen

Keine

Siehe auch
Beispiele

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');