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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung » HTTP-Webdienste » Beispiele für HTTP-Webdienste » Praktische Einführung: Verwenden von SQL Anywhere für den Zugriff auf einen SOAP/DISH-Dienst

 

Lektion 3: Senden einer SOAP-Anforderung und Empfangen einer SOAP-Antwort

In dieser Lektion rufen Sie die in der vorangehenden Lektion erstellte Wrapper-Prozedur auf, die eine SOAP-Anforderung an die in der ersten Lektion erstellte Webserverdatenbank sendet. Weitere Hinweise zum in dieser Lektion beschriebenen Einrichten einer Webclient-Datenbank für das Senden von SOAP-Anforderungen finden Sie unter Lektion 2: Einrichten einer Webclient-Datenbank zum Senden von SOAP-Anforderungen und Empfangen von SOAP-Antworten.

 ♦  So senden Sie eine SOAP-Anforderung
  1. Stellen Sie in Interactive SQL eine Verbindung mit der Clientdatenbank her, wenn diese nicht bereits von der zweiten Lektion her geöffnet ist.

    dbisql -c "UID=DBA;PWD=sql;SERVER=ftc_client"
  2. Rufen Sie die Wrapper-Prozedur zum Senden einer SOAP-Anforderung und Empfangen einer SOAP-Antwort auf.

    Führen Sie in Interactive SQL das folgende SQL-Skript aus:

    CALL FahrenheitToCelsius(212);

    Dieser Aufruf gibt einen Fahrenheit-Wert von 212 an die Prozedur FahrenheitToCelsius weiter, welche ihrerseits diesen Wert zusammen mit zwei benutzerdefinierten SOAP-Headern an die Prozedur FToC weitergibt. Beide clientseitigen Prozeduren werden in der zweiten Lektion erstellt.

    FToC sendet den Fahrenheit-Wert und die SOAP-Header an die Prozedur FToCService, welche eine auf dem Fahrenheit-Wert basierende Ergebnismenge zurückgibt.

Die folgenden SOAP Antwort wird vom Webdienst FToCService im XML-Format zurückgegeben, wenn ein Fahrenheit-Wert von 212 an den Webserver übergeben wird:

<tns:rowset xmlns:tns="http://localhost/ftc/FtoCService">
 <tns:row>
  <tns:answer>100</tns:answer>
 </tns:row>
</tns:rowset>

Die SELECT-Anweisung in der Prozedur FahrenheitToCelsius der Webclient-Datenbank verwendet die Funktion OPENXML zur syntaktischen Analyse der XML-Repräsentation der SOAP-Antwort, wobei der durch die tns:answer-Struktur definierte Celsius-Wert extrahiert wird.

Die folgende Antwort wird in Interactive SQL generiert:

temperature Celsius
212.0 100.0