Diese Kurzeinführung veranschaulicht, wie Sie mithilfe von zwei verschiedenen Arten von Clientanwendungen, Python und C#, auf einen SQL Anywhere-HTTP-Webserver zugreifen. Sie veranschaulicht nicht den vollen Umfang der Fähigkeiten der SQL Anywhere-Webdienstanwendung. Es sind viele SQL Anywhere-Webservice-Funktionen verfügbar, die unter diesem Thema nicht alle behandelt werden können.
Folgende Aufgaben werden durchgeführt:
Erstellen einer Prozedur, die eine Verbindung zu einem Webdienst auf einem HTTP-Server herstellt
Durchführen von Vorgängen auf der vom HTTP-Server gesendeten Ergebnismenge
Sie können SQL Anywhere-Webclientanwendungen entwickeln, die eine Verbindung zu jedem beliebigen Online-Webserver herstellen, aber in dieser Einführung wird davon ausgegangen, dass Sie einen lokalen SQL Anywhere-HTTP-Server auf Port 8082 gestartet haben und eine Verbindung zu einem Webdienst mit dem Namen SampleXMLService herstellen möchten, der mit den folgenden SQL-Anweisungen erstellt wurde:
CREATE SERVICE SampleXMLService TYPE 'XML' USER DBA AUTHORIZATION OFF AS CALL sp_echo2(:i, :f, :s); CREATE PROCEDURE sp_echo2(i INTEGER, f NUMERIC(6,2), s LONG VARCHAR ) RESULT( ret_i INTEGER, ret_f NUMERIC(6,2), ret_s LONG VARCHAR ) BEGIN SELECT i, f, s; END; |
Weitere Hinweise zum Einrichten eines HTTP-Servers finden Sie unter Kurzeinführung zur Verwendung von SQL Anywhere als HTTP-Webserver.
Schreiben Sie Code, der auf den Webdienst SampleXMLService zugreift.
Für C# verwenden Sie den folgenden Code:
using System; using System.Xml; public class WebClient { static void Main(string[] args) { XmlTextReader reader = new XmlTextReader( "http://localhost:8082/SampleXMLService?i=5&f=3.14&s=hello"); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (reader.Name == "row") { Console.Write(reader.GetAttribute("ret_i") + " "); Console.Write(reader.GetAttribute("ret_s") + " "); Console.WriteLine(reader.GetAttribute("ret_f")); } break; } } reader.Close(); } } |
Speichern Sie den Code in einer Datei mit dem Namen DocHandler.cs.
Um das Programm zu kompilieren, führen Sie den folgenden Befehl an der Eingabeaufforderung aus:
csc /out:DocHandler.exe DocHandler.cs |
Für Python verwenden Sie den folgenden Code:
import xml.sax class DocHandler( xml.sax.ContentHandler ): def startElement( self, name, attrs ): if name == 'row': table_int = attrs.getValue( 'ret_i' ) table_string = attrs.getValue( 'ret_s' ) table_numeric = attrs.getValue( 'ret_f' ) print('%s %s %s' % ( table_int, table_string, table_numeric )) parser = xml.sax.make_parser() parser.setContentHandler( DocHandler() ) parser.parse('http://localhost:8082/SampleXMLService?i=5&f=3.14&s=hello') |
Speichern Sie den Code in einer Datei mit dem Namen DocHandler.py.
Führen Sie die Anwendung aus.
Für C# führen Sie den folgenden Befehl aus:
DocHandler |
Für Python führen Sie den folgenden Befehl aus:
python DocHandler.py |
Die Anwendung zeigt die folgende Ausgabe an:
5 hello 3.14 |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |