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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - Programmierung » HTTP-Webdienste » Beispiele für HTTP-Webdienste » Praktische Einführung: Webserver erstellen und über einen Webclient darauf zugreifen

 

Lektion 1: Webserver für das Empfangen von Anforderungen und das Senden von Antworten einrichten

Das Ziel dieser Lektion ist das Einrichten eines SQL Anywhere-Webservers, auf dem ein Webdienst ausgeführt wird.

Voraussetzungen

In dieser Lektion wird davon ausgegangen, dass Sie die Rollen und Privilegien haben, die im Abschnitt "Privilegien" am Anfang dieser praktischen Einführung aufgeführt sind: Praktische Einführung: Webserver erstellen und über einen Webclient darauf zugreifen.

 Aufgabe
  1. Erstellen Sie eine SQL Anywhere-Datenbank, die verwendet wird, um Webdienstdefinitionen zu speichern.

    dbinit -dba DBA,sql echo
  2. Starten Sie einen Netzwerk-Datenbankserver mit dieser Datenbank. Dieser Server fungiert als Webserver.

    dbsrv16 -xs http(port=8082) -n echo echo.db

    Der HTTP-Webserver ist so eingestellt, dass er Port 8082 auf Anforderungen abhört. Verwenden Sie eine andere Portnummer, wenn 8082 in Ihrem Netzwerk nicht zulässig ist.

  3. Stellen Sie über Interactive SQL eine Verbindung mit dem Datenbankserver her.

    dbisql -c "UID=DBA;PWD=sql;SERVER=echo"
  4. Erstellen Sie einen neuen Webdienst zum Annehmen der eingehenden Anforderungen.

    CREATE SERVICE EchoService
    TYPE 'RAW'
    AUTHORIZATION OFF
    SECURE OFF
    USER DBA
    AS CALL Echo();

    Diese Anweisung erstellt einen neuen Dienst mit dem Namen EchoService, der eine gespeicherte Prozedur mit dem Namen Echo aufruft, wenn ein Webclient eine Anforderung an den Dienst sendet. Sie generiert den Haupttext einer HTTP-Antwort ohne Formatierung (RAW) für den Webclient. Wenn Sie sich mit einer anderen Benutzer-ID angemeldet haben, muss die USER DBA-Klausel gemäß Ihrer Benutzer-ID geändert werden.

  5. Erstellen Sie die Echo-Prozedur zum Bearbeiten von eingehenden Anforderungen.



    CREATE OR REPLACE PROCEDURE Echo()
    BEGIN
        DECLARE request_body LONG VARCHAR;
        DECLARE request_mimetype LONG VARCHAR;
    
        SET request_mimetype = http_header( 'Content-Type' );
        SET request_body = isnull( http_variable('text'), http_variable('body') );
        IF request_body IS NULL THEN
            CALL sa_set_http_header('Content-Type', 'text/plain' );
            SELECT 'failed'
        ELSE
            CALL sa_set_http_header('Content-Type', request_mimetype );
            SELECT request_body;
        END IF;
    END

    Diese Prozedur formatiert den Content-Type-Header und den Hauptteil der Antwort, die an den Webclient gesendet wird.

Ergebnisse

Ein Webserver wird eingerichtet, um Anforderungen zu empfangen und Antworten zu senden.

 Siehe auch