Webservice sind eine Art COM Objekte die übers Internet nutzbar sind. Zur Kommunikation wird XML eingesetzt und als Sprache SOAP (Simple Object Access Protokoll)
Damit es besser darstellbar ist, haben wir für Devtrain einen Webservice entwickelt. Dieser bietet die aktuellen 5 Artikel mit Headline an. So kann man ohne sich auf die Devtrain Website zu begeben informieren, ob es was interessantes und neues gibt.
Neben dem Webservice wird auch noch ein Client benötigt. Hier werden zwei Arten erklärt. VB und wieder als Website. Vorraussetzung ist das Microsoft Soap Toolkit V2, das kostenlos von msdn.microsoft.com/xml geladen werden kann.
Nach Installation erstellen wir ein VB Projekt um den Webservice zu nutzen. Im VB Projekt muss ein Projektverweis die Microsoft Soap Type Library auf gesetzt werden.
Private Sub Command1_Click() Dim my As New SoapClient my.mssoapinit ("http://www.devtrain.de/webserv/ics.wsdl") Text1.Text = my.getNews() End Sub |
Die Ausgabe am Bildschirm zeigt nach 3-4 Sekunden einen etwas verwirrenden Text.
Weil XML keine Zeilenumbrüche braucht ist die Darstellung unübersichtlich. Die Inhalte haben wir in eine CDATA Sektion gepackt, damit der XML Parser sie ignoriert. Das ist nötig, weil darin Sonderzeichen vorkommen die das Dokument "not wellformed" machen.
Die zweite Methode ist, den Webservice in eine eigene Website einzubinden. Dazu verwenden wir eine ASP Seite und wieder SOAP. Der Trick hier ist, das gleich per XSL eine Transformation statt findet um die Anzeige Menschen lesbar zu machen.
Set oSOAP = Server.CreateObject("MSSOAP.SoapClient") set xml =Server.CreateObject("MSXML2.domDocument") set xsl =Server.CreateObject("MSXML2.domDocument") oSOAP.mssoapinit("http://www.devtrain.de/webserv/ics.wsdl") xml.loadXML(oSoap.getnews) xslFile=Server.MapPath("webserv.xsl") xsl.async=false xsl.load xslfile Response.write(xml.transformNode(xsl)) |
Kurz ein paar Worte zum Webservice. In der Datei ICS.WSDL ist die Service Beschreibung. Diese kann auch im Browser eingesehen werden. Die Datei ICS.ASP ist der Listener und der Code gleichzeitig. Die Funktion GetNews liefert die neuesten fünf Artikel als XML File.
leifert die neuesten fünf Artikel als XML File.