OK, ich bin ein bisschen verwirrt hier. Ich habe einen WCF-Dienst (Dienst A), der einen anderen WCF-Dienst (Dienst B) aufruft. Wenn ich eine Ausnahme auf Dienst B, z. throw new Exception("test")
dann erhält der Dienst A keine Ausnahme, stattdessen wird der IsFault in der Antwortnachricht auf "true" gesetzt, z.WCF IsFault und FaultException
responseMessage = forwardingChannel.Process(message)
if (responseMessage.IsFault) {
// Yes, there is a fault
}
Ich erwartete, dass ich einen try-catch um die Process-Methode setzen und die Ausnahme erhalten konnte. Könnte mir bitte jemand erklären, was hier vor sich geht?
Dank
OK danke für die Antwort, aber wie erhalten Sie die SOAP Fault in eine FaultException übersetzt? Warum passiert das nicht automatisch bei meinem WCF-Dienst, sondern bei einem Client? Noch einmal vielen Dank –
Wenn Sie in einem Client Service-Referenz hinzufügen verwenden, wird eine vom Dienst _will_ zurückgegebene SOAP-Fault in eine FaultException umgesetzt. –
Ja, aber im Falle eines Vermittlungsdienstes haben Sie keine Referenz auf die gleiche Weise, also wie übersetzen Sie sie dann? Danke –