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.
Voraussetzungen
Eine neue Version von Visual Studio ist erforderlich.
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: Verwenden von Visual C# für den Zugriff auf einen SOAP/DISH-Webdienst.
Starten Sie die SQL Anywhere-Demodatenbank mit dem folgenden Befehl:
dbsrv16 -xs http(port=8082) "%SQLANYSAMP16%\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. Der Dienst wählt alle Spalten aus der Tabelle Employees aus und gibt die Ergebnismenge an den Client zurück. Der Dienstname ist in Anführungszeichen gesetzt, weil darin ein Schrägstrich (/) vorkommt. Wenn Sie sich mit einer anderen Benutzer-ID angemeldet haben, muss die USER DBA-Klausel gemäß Ihrer Benutzer-ID geändert werden.
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.
Da die FORMAT-Klausel nicht angegeben ist, wird das SOAP-Dienstformat durch das zugeordnete DISH-Dienstformat bestimmt, das im nächsten Schritt deklariert wird.
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, weil er als SASoapTest/EmployeeList deklariert ist. Wenn Sie sich mit einer anderen Benutzer-ID angemeldet haben, muss die USER DBA-Klausel gemäß Ihrer Benutzer-ID geändert werden.
Vergewissern Sie sich, dass der DISH-Webdienst funktionsfähig ist, indem Sie über einen Webbrowser auf das zugehörige WSDL-Dokument zugreifen.
Öffnen Sie Ihren Webbrowser und gehen Sie zu http://localhost:8082/demo/SASoapTest_DNET.
Der DISH-Dienst generiert automatisch ein WSDL-Dokument, das im Browserfenster angezeigt wird.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |