In dieser Lektion richten Sie einen SQL Anywhere-Webserver ein, auf dem SOAP- und DISH-Webdienste ausgeführt werden und der die Anforderungen der Visual C#-Clientanwendung verarbeitet.
Starten Sie die SQL Anywhere-Datenbank demo mit dem folgenden Befehl:
dbsrv12 -xs http(port=8082) "%SQLANYSAMP12%\demo.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.
Stellen Sie in Interactive SQL mit dem folgenden Befehl eine Verbindung zum Datenbankserver her:
dbisql -c "UID=DBA;PWD=sql;SERVER=demo" |
Erstellen Sie einen neuen SOAP-Dienst zum Annehmen der eingehenden Anforderungen.
Führen Sie die folgende SQL-Anweisung in Interactive SQL aus:
CREATE SERVICE "SASoapTest/EmployeeList" TYPE 'SOAP' DATATYPE ON AUTHORIZATION OFF SECURE OFF USER DBA AS SELECT * FROM Employees; |
Diese Anweisung erstellt einen neuen SOAP-Dienst mit dem Namen SASoapTest/EmployeeList, der als Ausgabe einen SOAP-Typ generiert. Er wählt alle Spalten aus der Tabelle Employees aus und gibt die Ergebnismenge an den Client zurück.
DATATYPE ON gibt an, dass explizite Datentypinformationen in der zurückgegebenen XML-Ergebnismenge und den Eingabeparametern generiert werden. Diese Option wirkt sich nicht auf das WSDL-Dokument aus, das generiert wird. Weitere Informationen zur DATATYPE-Klausel finden Sie unter CREATE PROCEDURE-Anweisung [Webdienste].
Erstellen Sie einen neuen DISH-Dienst, der als Proxy für den SOAP-Dienst agiert und das WSDL-Dokument generiert.
Führen Sie die folgende SQL-Anweisung in Interactive SQL aus:
CREATE SERVICE "SASoapTest_DNET" TYPE 'DISH' GROUP "SASoapTest" FORMAT 'DNET' AUTHORIZATION OFF SECURE OFF USER DBA; |
DISH-Webdienste, auf die von .NET aus zugegriffen wird, sollten mit der FORMAT 'DNET'-Klausel deklariert werden. Die GROUP-Klausel kennzeichnet die SOAP-Dienste, die vom DISH-Dienst verarbeitet werden sollen. Der im vorherigen Schritt erstellte EmployeeList-Dienst ist Teil der GROUP 'SASoapTest', da er als SASoapTest/EmployeeList deklariert ist.
Vergewissern Sie sich, dass der DISH-Webdienst funktionsfähig ist, indem Sie über einen Webbrowser darauf zugreifen.
Öffnen Sie Ihren Webbrowser und gehen Sie zu http://localhost:8082/demo/SASoapTest_DNET.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |