Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

Web Services mit dem SOAP Toolkit erstellen

Geschrieben von: Christian Holm
Kategorie: Web Services

This printed page brought to you by AlphaSierraPapa

Web Services sind keine Exklusivveranstaltung von ASP.NET. Man kann auch mit "klassischen" Entwicklungstools wie Visual Basic 6 und Active Server Pages einen über SOAP (Simple Object Access Protocol) kommunizierenden Web Service erstellen. Zur Erleichterung der Entwicklung stellt Microsoft das SOAP Toolkit gratis zur Verfügung. Dieser Artikel stellt Ihnen dieses anhand eines einfachen Web Services vor.

Die SOAP Server Objects können entweder für das Internet Server API (ISAPI) oder ASP erstellt werden. Hierfür wird entweder ein Windows 2000 Server oder ein Windows NT 4 Server mit SP6 benötigt. Das SOAP Toolkit 2.0 benötigt mindestens Visual Studio 6 (ab Professional) oder höher, sowie den MSXML Parser 3.0 oder höher. Der MSXML Parser 3.0 wird bei der Installation des Toolkits automatisch mitinstalliert, falls er nicht verfügbar ist (wichtig: das Toolkit muß am Server installiert werden!). Und das Visual Studio 6 benötigt man nur am Entwicklungsserver, nicht am Deployment Target Server.

Das SOAP Toolkit können Sie, wie schon erwähnt kostenlos bei den MSDN Downloads unter Software Development Kits, SOAP Toolkit 2.0 Gold Release, downloaden (oder eine neuere Version, so bereits erhältlich). Nach dem Download einfach die soaptoolkit20.exe ausführen und den Anweisungen am Bildschirm folgen.

Der heute vorgestellte Beispiel-Web Service wird aus folgenden Dateien bestehen:

Die ActiveX DLL SimpleWS.dll Datei repräsentiert unser COM Objekt, das wir über einen Web Service zur Verfügung stellen werden. Die DLL ist in Visual Basic erstellt, und enthält unsere Klasse, die der Einfachheit halber einen String zurückliefert (die Funktionalität ist also nicht weltbewegend).

SimpleWebService.asp wird durch den im SOAP Toolkit mitgelieferten WSDL Generator generiert. Sie dient als Listener, der in diesem Beispiel in Form einer ASP Datei erstellt wird. Der Listener wird benötigt, um zusätzliche Parsingfunktionalität bereit zustellen, z.B um Eingabewerte zu parsen und zu überprüfen. Alternativ können Sie den Listener auch als ISAPI erstellen lassen.

Die beiden anderen Dateien SimpleWebService.WSDL und SimpleWebService.wsml, die ebenfalls durch den WSDL Generator generiert werden, dienen allgemein der Beschreibung des Web Service. Die WSDL (Web Service Description Language) Datei beschreibt die Funktionlität des Web Service, also u.a. auf welche Methoden der Client Zugriff hat. Die WSML (Web Service Meta Language) enthält Informationen über die Ausführung des COM Objektes, d.h. welche Methoden geladen werden müssen, um einen Request verarbeiten zu können.

Für den heute vorgestellten Web Service erstellen Sie bitte ein neues virtuelles Verzeichnis in der Web Site, in der Sie den Web Service dann mit Hilfe des SOAP Toolkits installieren werden. Das ist die einzige Vorbereitungsarbeit, die Sie in der ISM (Internet Services Manager) durchführen müssen.

Das COM Objekt

Nun können wir das COM Objekt für den Web Service erstellen, indem wir in Visual Basic eine ActiveX DLL (Dynamic Link Library) erzeugen. Klicken Sie hierfür auf das Menü File und dann auf New Project. Im New Project Auswahldialogfenster klicken wir dann auf ActiveX DLL und bestätigen mit OK.

Wir benennen unser neues Projekt SimpleWSProj und die neue Klasse SimpleWS. Diese Änderungen sind durch Anklicken der jeweiligen Items im Project Explorer, und Ändern des Namens im Eigenschaftenfenster vorzunehmen. Nun können wir den Sourcecode für die Klasse des COM Objektes erstellen. Für diesen Artikel habe ich nur eine sehr einfache Funktion geschrieben, die der Einfachheit halber nur einen String zurückgibt:

Public Function RetString() As String
    RetString = "Hello from Web Service using SOAP ToolKit"
End Function

Da wir mit der Funktionalität der Klasse schon fertig sind, speichern wir das VB Projekt und können die benötigte DLL erstellen. Dazu wählen wir im File Menü den Eintrag Make SimpleWS.dll. Nach der erfolgreichen Erstellung der DLL können wir Visual Basic wieder schließen, die DLL in das zuvor erstellte Webverzeichnis kopieren und mit der Einrichtung des Web Service am Web Server mit Hilfe des mit dem SOAP Toolkit mitgelieferten WSDL Generator beginnen.

Den Web Service erstellen

Nach der erfolgreichen Installation des SOAP Toolkits (am Server) finden Sie den WSDL Generator unter Programs, Mircosoft SOAP Toolkit, WSDL Generator. Nach dem Einführungsdialog erhalten Sie folgendes Fenster:

In diesem müssen Sie Ihren Web Service benennen und den lokalen Pfad angeben, wo sich die DLL Datei befindet, die für den Web Service verwendet werden soll. Mit der Angabe des Pfades wird zunächst die DLL untersucht und nach möglichen, für den Client zugänglichen Methoden durchsucht. Mit Next gelangen Sie zum nächsten Fenster, wo Sie die Methoden, die für den Client zugänglich sein sollen - die "exposed" werden - auswählen müssen:

Alle Methoden, die Sie nicht selektieren, bleiben vom Web Service ausgeschlossen und sind nicht von außen zugänglich. Im nächsten Fenster müssen Sie dann Informationen über den Listener angeben. Dies geschieht durch die Angabe des Uniform Resource Identifier (URI), in dem sich der Listener befinden soll. Zusätzlich ist noch die Auswahl des Listenertyps (für unser Beispiel wählen wir ASP) und die Version des XSD Schema Namespaces anzugeben:

Im letzten Fenster müssen Sie noch das Character Set der WSDL Datei angeben, und den Speicherort der zu generierenden Dateien auswählen:

Mit Next werden dann die für den Web Service benötigten Dateien - Listener, WSDL und WSML Dateien - erstellt.

Damit ist der Web Service erstellt und einsatzbereit. Um ihn auf einen anderen Server zu deployen reicht es, das gesamte Verzeichnis zu kopieren - allerdings muß am Zielserver das SOAP Toolkit ebenso installiert sein. Ach ja - wenn Sie eine Visual Basic Komponente deployen, dann müssen Sie auch die Runtime installieren!

Schlußbemerkung

Wie Sie sehen können, übernimmt der WSDL Generator die meiste Arbeit mit der Generierung des Listeners sowie der WSDL und WSML Dateien, die für die Einrichtung des Web Service nötig ist. Sie müssen lediglich das COM Objekt mit der gewünschten Funktionalität erstellen. Mit den im Artikel gezeigten Schritten können Sie nun einen Web Service erstellen und am Web Server einrichten. Ein weiterer Artikel beschäftigt sich mit der Konsumierung des Web Services mit Hilfe des SOAP Toolkits.

This printed page brought to you by AlphaSierraPapa

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20010629.zip

Verwandte Artikel

Was sind XML Schemas?
http:/www.aspheute.com/artikel/20010514.htm
Web Services 101 in ASP.NET
http:/www.aspheute.com/artikel/20010621.htm
Web Services einfach konsumieren
http:/www.aspheute.com/artikel/20010703.htm
Web Services in Anwendungen konsumieren
http:/www.aspheute.com/artikel/20010622.htm

Links zu anderen Sites

MSDN Downloads
http://msdn.microsoft.com/downloads/default.asp

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.