Nachdem nun die grundlegende Struktur für die Web Service-Schicht erstellt wurde, kann jetzt die Klasse für die Ausnahmebehandlung hinzugefügt werden. Dazu klickt man mit der rechten Maustaste auf den ws-Ordner und fügt eine neue Klasse mit der Bezeichnung WSException.vb hinzu (siehe Listing H). Diese Klasse muss auch zu Johns Anwendung hinzugefügt werden.
Nun soll ein Blick auf den zur Behandlung von Ausnahmen vorgesehenen Block in der einzelnen Web-Methode, ConfirmOrder(), geworfen werden. In Listing I ist der catch-Block dieser Methode dargestellt.
Man wird feststellen, dass der verwendete catch-Block in Schichten unterteilt ist, um all die verschiedenen Ausnahmetypen der Anwendung handhaben zu können. Wenn die jeweilige Ausnahme aus der Geschäfts- oder Datenbank-Komponente herrührt, übernimmt diese Komponente die eigentliche Protokollierung des Fehlers und gibt diese an die vorangehende Schicht weiter. Bei der Web Service-Schicht angekommen, werden die Ausnahmen wiederum an den Kunden weitergegeben.
Wenn die Ausnahme dagegen direkt aus der Web-Methode selbst stammt, wird sie als reguläre Systemausnahme erfasst und in der Logdatei protokolliert. Anschließend wird eine neue WSException-Klasse instantiiert und an den Kunden ausgegeben.
Natürlich werden alle durch einen Web Service weitergereichten Ausnahmen als SoapExceptions weitergereicht, dennoch kann man auf der Kundenseite bestimmte Vorkehrungen treffen, um bestimmte Arten von Ausnahmen zu handhaben. Auf diese Weise kann man exakt bestimmten, aus welcher Schicht die Ausnahme stammt.
Neueste Kommentare
Noch keine Kommentare zu Implementierung von B2B Web Services: Toms Anwendung
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.