Re: JAX-WS: Wie Exceptions behandeln?



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-

.



Relevant Pages

  • return from server only works for built-in types
    ... But when I call _r.GetStatisticsthe client fails with the exception shown ... GetStatistics fails when client and server is on different networks. ... Win32 Version: 2.0.50727.832 ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: How to detect if client or server are not responding
    ... you are asking if raising an exception could cause a COM call not ... responds to the server crashing. ... client implemented in an ActiveX plugin DLL running in a browser. ... If a COM service crashes in the middle of a call, it may take up to 6 ...
    (microsoft.public.win32.programmer.ole)
  • WCF communication error - whats the cause?
    ... I have a very simple client - server application using the WCF. ... Communications exception thrown whilst trying to write to remote service. ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: Passing Referernce Parameter to Remote Component
    ... So you have an MBR object that takes another MBR object from the ... client to server. ... So what type of exception are you getting? ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: JAX-WS: Wie Exceptions behandeln?
    ... SoapFault gemacht aber die Exception auch von "Java" ins Logfile ... Wenn ein SoapFault kommt hat der Server eine Exception geworfen und entsprechend etwas "falsch" gemacht. ...
    (de.comp.lang.java)

Loading