Ich habe es mit einem automatisch generierten WebService-Stub in Java zu tun (generiert mit JAX-WS RI).In Java wurde eine Ausnahme ausgelöst, wenn während eines WebService-Aufrufs eine Netzwerkverbindung verloren ging (ähnlich WCF CommunicationException)
Mein tatsächlicher Dienst ist ein .Net-Programm, das seinen Webservice mit dem WCF basicHttpBinding aussetzt.
Wie sollte ich mit Kommunikationsproblemen während des tatsächlichen WebService-Aufrufs umgehen? (d. h. die Art und Weise, in der WCF auf dem Client Ihren Anruf mit einer catch CommunicationException versehen würde, wenn Kommunikations-/Netzwerkprobleme aufgetreten sind).
Es scheint, als gäbe es keine geprüften Ausnahmen für den Umgang damit.
(Wenn ich die automatisch generierte Stub-Schnittstelle von Web-Service-Methoden anzeigen, werfen Sie keine Exceptions, andere als die vordefinierten FaultExceptions/Messages von WSDL ausgesetzt).
Wenn ich tatsächlich getestet habe, was während eines WebService-Aufrufs passieren würde, wenn das Netzwerk getrennt wurde, hielt der Client den Aufruf einfach an, anstatt sogar eine Art Laufzeitausnahme auszulösen.
Gedanken?
Dank
Es scheint, dass Ihre Frage sich vollständig auf den Java-Client/Stub bezieht und überhaupt nichts mit dem WCF-Dienst zu tun hat. Ist das korrekt? – Randolpho
Sie könnten WS-ReliableMessaging verwenden, um mit solchen Problemen umzugehen. – akarnokd
Ja, so scheint es. Ich denke, der Stub muss irgendwie anders generiert werden, um eine Art von überprüfter Ausnahme für Kommunikationsfehler (wie eine javax.xml.soap.SOAPException) zu entlarven. – vicsz