WCF IsFault和FaultException

时间:2009-08-18 15:16:01

标签: .net wcf

好的,我在这里让自己有点困惑。我有一个WCF服务(服务A)调用另一个WCF服务(服务B)。当我在服务B上抛出异常,例如throw new Exception("test")然后服务A没有得到异常,而是在响应消息上将IsFault设置为true,例如

responseMessage = forwardingChannel.Process(message)
if (responseMessage.IsFault) {
    // Yes, there is a fault
}

我希望我可以在Process方法周围放置一个try-catch并接收异常。有人可以向我解释这里发生了什么事吗?

由于

1 个答案:

答案 0 :(得分:1)

如果服务A是Java服务,您是否希望通过调用服务B获得.NET异常?

默认情况下,WCF服务中的未处理异常将作为错误返回。如果服务使用SOAP,则将作为SOAP Fault返回。在普通的WCF客户端中,它将被转换为FaultException。