Angenommen, ich habe einen Web-Service, der basierend auf einem übergebenen Benutzer eine Sammlung von Bildern zurückgibt. Jetzt rufe ich den Webservice mit einem ungültigen Benutzer an. Der Aufruf löst eine UnauthorizedAccessException mit einer Nachricht aus, die besagt, dass der Benutzer nicht berechtigt ist, die Sammlung abzurufen.Wo/wie lokalisiere ich Exceptions, die in einem Web-Service ausgelöst wurden?
Ich möchte diese Nachricht lokalisiert werden. Wo lokalisiere ich diese Nachricht auf der Clientseite basierend auf einem Fehlercode? Oder übergebe ich einen "Sprache" -Parameter an die Methode überhaupt? Verwende ich HTTP-Statuscodes, damit der Client die Nachricht lokalisieren kann?
Okay, das scheint mir auch natürlicher. Ich werde die Lokalisierung auf dem ExceptionType basieren. Dies hält auch meinen serverseitigen Code sauberer. –
Der Verweis auf meine gelöschte Antwort wurde entfernt. Beachten Sie, dass SOAP immer noch einen FaultCode zurückgibt, den der Client als lokale Ausnahme erneut auslöst. Persönlich halte ich das für einen sinnlosen Mechanismus. –
SOAP-Fehler enthalten einen FaultCode, aber es dient nur dazu, den Fehler als Serverfehler, Clientfehler usw. zu kategorisieren. Es handelt sich nicht um einen Fehlercode. Beachten Sie, dass WCF und die meisten Java-Plattformen Fehlerbeschreibungen in der WSDL unterstützen. Der Client erhält stark typisierte Ausnahmen, nicht nur "SoapException". Es ist nur ASMX, das rückwärts ist. –