Re: JAX-WS: Wie Exceptions behandeln?
- From: Christian Hammers <chammers@xxxxxxxxxxxxx>
- Date: Tue, 25 Aug 2009 14:30:09 +0200
Hallo
On Mon, 24 Aug 2009 22:19:13 +0200
"Daniel Urban" <urbandan@xxxxxxxxxxxxxxx> wrote:
"Christian Hammers"
Wenn ich nun in einer der per SOAP erreichbaren Methoden eine Exception
weil z.B. die Eingabedaten ungültig waren so wird daraus automatisch ein
SoapFault gemacht (gut) aber die Exception auch von "Java" ins Logfile
geschrieben (schlecht).
Wer schreibt die Exception ins Log-File? Der Server oder der Client? Und in
welches Log-File? Meinst Du System.Out oder System.Err? Würde mich wundern,
wenn Java wüßte, welche Log-Bibliothek Du verwendest?
Es sah wegen Timestamp und "INFO:" so aus wie java.util.logging und kam glaube
ich auf System.out.
Normalerweise fängt man die Exceptions selber ab und schreibt sie dann ins
Log. Ich kenne hier ehrlich gesagt keinen Automatismus.
Wie bekomme ich es hin daß ich unterscheiden kann zwischen SoapFaults die
im Betrieb halt vorkommen weil die Gegenseite doof ist und "wirklichen"
Fehlern die ich im Errorlog sehen (bzw. zugemailt bekommen möchte).
Exceptions werden doch nur vom Server erzeugt. Wenn ein SoapFault kommt hat
der Server eine Exception geworfen und entsprechend etwas "falsch" gemacht.
Du musst also einfach alles auf dem Server korrekt implementieren, dann wird
auch keine SoapFault erzeugt. ;-)
Ich möchte dem Client eine Exception zurück liefern wenn der Client etwas falsch
implementiert hat und mir z.B. in Folge einer falschen Benutzereingabe einen leeren String als Usernamen liefert. Das soll
auf dem Server nur informativ geloggt werden aber auf dem Client als Exception
aufschlagen.
Das ist ja etwas anderes als wenn der Server z.B. Probleme mit seiner Datenbank hat
dann soll nicht nur der Client eine Exception behandeln sondern auch der Server.
Ich suche also etwas in der folgenden Art, finde aber nichts....
@WebService
public class Ws implements WsInterface {
public errorHandler(Throwable ex) {
if (ex instanceof IllegalArgumentException) return; // ignore
// Sonst ins Logfile schreiben und sonstwas machen
}
Wie soll das gehen, du musst doch dem Client ein Ergebnis mitteilen. Oder
interessiert es Deinen Client nicht, wenn die Methode nicht funktioniert
hat?
Das war missverständlich, an den Client soll die Exception immer gehen,
mit obigem Handler wollte ich nur entscheiden wie die Server Seite damit umgeht.
tschüss,
-christian-
.
- Follow-Ups:
- Re: JAX-WS: Wie Exceptions behandeln?
- From: Daniel Urban
- Re: JAX-WS: Wie Exceptions behandeln?
- References:
- JAX-WS: Wie Exceptions behandeln?
- From: Christian Hammers
- Re: JAX-WS: Wie Exceptions behandeln?
- From: Daniel Urban
- JAX-WS: Wie Exceptions behandeln?
- Prev by Date: Proxy Objekte in Web Services und EJB
- Next by Date: Re: JAX-WS: Wie Exceptions behandeln?
- Previous by thread: Re: JAX-WS: Wie Exceptions behandeln?
- Next by thread: Re: JAX-WS: Wie Exceptions behandeln?
- Index(es):
Relevant Pages
|
Loading