| |
- 11 -
(JAR) vergleichen. Ebenso wie JARs enthalten auch Assemblies Metadaten, die zum
Beispiel Beschreibungen für einzelne Klassen enthalten oder auch Zugriffsbeschrän-
kungen.
Folgendes Beispiel zeigt eine .asmx-Datei, wo der Web Service direkt in der Datei imp-
lementiert ist:
<%@ WebService Language="C#" Class="Kunde" %>
using System;
using System.Web.Services;
public class Kunde : WebService{
public Kunde(){}
[WebMethod(Description="erstellt neuen Kunden")]
public int erzeugeKunde(String Name){
int ID = holeNeueID();
//neuen Datenbankeintrag erzeugen
return ID;
}
[WebMethod(Description="liefert Namen des Kunden")]
public string holeNamen(int ID){
//Name aus Datenbank abfragen
return Name;
}
private int holeNeueID(){
//neue ID aus Datenbank ermitteln
return neueID;
}
}
Bei der Methode holeID() handelt es sich dabei um eine Web Service-Methode. Nicht
jede Methode muß gleichzeitig auch eine Web Service-Methode sein. Web Service Me-
thoden werden durch das Attribut WebMethod gekennzeichnet. Alternativ kann wie im
obigen Beispiel der Web Service Methode gleichzeitig auch noch eine Beschreibung
gegeben werden, die später in das WSDL-Dokument übernommen wird, welches den
Web Service beschreibt. So ist es auch relativ einfach, aus einer bisherigen Applikation
einen Web Service zu erstellen: Es müssen die entsprechenden Methoden, die als Web
Service-Methoden fungieren sollen, nur um entsprechende Attribute aus Sys-
tem.Web.Services ergänzt werden. Damit stehen sie schon für die Verwendung
über SOAP und HTTP bereit.
Ebenso einfach lässt sich ein Web Service definieren, wenn die benötigten Methoden
sich innerhalb einer Assembly befinden. Die Definition innerhalb der .asmx-Datei sieht
dann folgendermaßen aus:
|  |
|
| |
|
|