Außerdem gibt es hier eine öffentliche Eigenschaft, die als Instanz der SOAP-Header-Klasse implementiert ist. Diese Eigenschaft wird auf die entsprechenden Werte des SOAP-Headers gesetzt, der von Nutzern des Web Service übergeben wird, wenn sie eine Web-Methode aufrufen. Um diese Verknüpfung zu erstellen, muss die Web-Methode über eine entsprechende Signatur verfügen:
Der SoapHeader-Attribut-Konstruktor übernimmt einen Parameter (in diesem Fall „BookSecurityCtx“) und muss mit dem Namen der innerhalb der Web Service-Klasse selbst definierten Eigenschaft übereinstimmen. Wenn die Web-Methode diesen SOAP-Header empfängt, setzt sie automatisch die Klassen-Eigenschaft auf die Werte des SOAP-Headers und erlaubt so den Zugriff auf die Daten. Der Parameter Required teilt den Nutzern des Web Service mit, dass dieser SOAP-Header unbedingt erforderlich ist, da sonst der Web Service nicht funktioniert.
Wenn man sich den gesamten Code anschaut, wird man feststellen, dass anstelle einer Duplizierung des Authentifizierungs-Codes in jeder Web-Methode einfach die Sicherheitskontext-Variable an die Authenticate()-Methode übergeben wird, die den eigentlichen Authentifizierungs-Prozess ausführt.
Der Web Service BookWS stellt zwei zusätzliche Methoden bereit, die nicht den Anforderungen entsprungen sind: GetBooksByIds und GetAvailabilityDs. Dies sind Hilfsmethoden, die zur Unterstützung der Benutzer der Web Services dienen. GetBooksByIds gibt eine Liste von Büchern aus, die auf einer Array-Liste der Primärschlüssel Book ID beruht. GetAvailabilityDs gibt ein DataSet aus, das alle möglichen Verfügbarkeitsoptionen für ein bestimmtes Buch enthält.
Wenn man ein wenig vorausschauend konzipiert, kann man normalerweise leicht feststellen, welche Hilfsmethoden von einem Client benötigt werden. Die Notwendigkeit dieser Methoden wird noch deutlicher werden, wenn Toms Anwendung mit Johns Web Services verbunden wird.
Neueste Kommentare
Noch keine Kommentare zu Web Services: Implementierung der Business-Logik
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.