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 » Beispiele für HTTP-Webdienste » Praktische Einführung: Verwenden von MIME-Typen in einem RAW-Dienst

 

Lektion 1: Einrichten einer Webservers für den Empfang von RAW-Anforderungen und das Senden von RAW-Antworten

In dieser Lektion richten Sie einen SQL Anywhere-Webdienstserver ein, auf dem ein Webdienst ausgeführt wird, der die MIME-Typeinstellung eines Webclients prüft.

 Einrichten eines Datenbankservers für den Empfang von RAW-Anforderungen und das Senden von RAW-Antworten
  1. Führen Sie zum Erstellen einer SQL Anywhere-Datenbank den folgenden Befehl aus:

    dbinit echo
  2. Starten Sie den Netzwerk-Datenbankserver mit dem folgenden Befehl:

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

    Dieser Befehl gibt an, dass der HTTP-Webserver an Port 8082 auf Anforderungen warten soll. Verwenden Sie eine andere Portnummer, wenn die Verwendung von 8082 in Ihrem Netzwerk nicht zulässig ist.

  3. Stellen Sie in Interactive SQL mit dem folgenden Befehl eine Verbindung zum Datenbankserver her:

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

    Führen Sie die folgende SQL-Anweisung in Interactive SQL aus:

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

    Diese Anweisung erstellt einen neuen SOAP-Dienst mit dem Namen EchoService, der als Ausgabe einen RAW-Typ generiert. Es ruft eine gespeicherte Prozedur mit dem Namen Echo auf, wenn ein Webclient eine Anforderung an den Dienst sendet. Sie erstellen die Echo-Prozedur im nächsten Schritt.

  5. Erstellen Sie die Echo-Prozedur für das Bearbeiten von eingehenden Anforderungen. Diese Prozedur gibt den Hauptteil der Anforderung zurück.

    Führen Sie hierzu die folgende SQL-Anweisung in Interactive SQL aus:



    CREATE PROCEDURE Echo( text LONG VARCHAR )
    BEGIN
        DECLARE body LONG VARCHAR;
        SET body = isnull( http_variable('text'), http_variable('body') );
        IF body IS NULL THEN
            SELECT 'failed';
        ELSE
            SELECT body;
        END IF;
    END;
 Siehe auch