Webservices
WSDL
Um unsere neu erzeugte Project1.exe in Betrieb zu nehmen, kopieren wir sie beispielsweise in das cgi-bin-Verzeichnis eines lokalen Apache-Servers. Es muss natürlich nicht das cgi-bin-Verzeichnis sein, jedoch sind für das Verzeichnis execute-Rechte nötig. Anschließend starten wir den Apache und öffnen ein Browser-Fenster.
Ohne irgend etwas konfigurieren zu müssen, ist der Apache über http://localhost/ erreichbar. Unter dieser Adresse sollte ein Willkommensgruß des Apache zu sehen sein. Ist dies nicht der Fall, ist etwas mit der Installation oder der Konfiguration nicht in Ordnung. Dann kann der Webservice natürlich auch nicht funktionieren.
Geben Sie in die Adresszeile des Browsers nun Folgendes ein:
http://localhost/cgi-bin/Project1.exe
Was nun kommt, wird von der Komponente WSDLHTMLPublish generiert. Weil all dies in der EXE enthalten ist, ist diese auch über 1 MB groß, obwohl wir nur eine sehr kleine Funktion implementiert haben.
Unter dem oberen Punkt (unter dem Namen unserer Schnittstelle) IMeinWebService ist unsere Funktion aufgeführt. Klicken wir auf den Namen der Schnittstelle, erhalten wir genauere Informationen darüber mitsamt Aufrufparametern und Rückgabetyp. Was im zweiten Abschnitt zu sehen ist, sind die Standard-Funktionen, die Delphi jedem Webservice hinzufügt.
Wer bereits das Tutorial zur Erstellung des Webservice-Clients gelesen hat, weiß, dass Clients eine WSDL-Beschreibung der Schnittstelle benötigen, wenn sie einen Webservice aufrufen wollen. Delphi verschont den Programmierer davon, diese Dateien selbst erstellen zu müssen (und dabei womöglich noch einige Tippfehler einzubauen). Hinter dem Namen der Schnittstelle befindet sich in eckigen Klammern das Wort „WSDL“. Über rechte Maustaste/Ziel speichern unter lässt sich die WSDL-Datei „herunterladen“. Der Internet Explorer schlägt als Endung .xml vor. Wir speichern die Datei jedoch unter „MeinWebService.wsdl“ im gleichen Verzeichnis, in dem sich auch unser Quellcode befindet. Wer einen XML-fähigen Browser verwendet, kann sich die WSDL-Datei auch direkt anzeigen lassen.
Jetzt haben wir alles: einen Webservice und eine passende WSDL-Datei. Aber kann das, was wir da in wenigen Minuten erstellt haben, überhaupt funktionieren? Wir machen den Test und programmieren noch eine Client-Anwendung, die die Dienste unseres Webservices nutzen soll.