如何从发布为 WCF Services 的业务流程中引发错误异常

可以从业务流程发送两种类型的 SOAP 错误:类型化和非类型化 SOAP 错误。 类型化 SOAP 错误是指操作具有指定自定义 SOAP 错误类型的 System.ServiceModel.FaultContractAttribute 。 非类型化 SOAP 错误则是那些没有在操作的约定中指定的错误。

WCF 适配器不支持对发布为 WCF Services 的业务流程的类型化错误约定异常进行处理。 但是,非类型化 SOAP 错误可始终由业务流程或管道返回。 若要返回非类型 SOAP 错误,需要在接收位置或配置文件中设置 System.ServiceModel.ServiceBehaviorAttribute.IncludeExceptionDetailInFaults ,以允许 WCF 客户端获取有关内部服务操作异常的信息。

下面的代码演示如何在配置文件中设置该属性:

<?xml version="1.0" encoding="utf-8"?>  
<configuration>  
    <system.serviceModel>  
        <behaviors>  
            <serviceBehaviors>  
                <behavior name="ServiceBehaviorConfiguration">  
                    <serviceDebug includeExceptionDetailInFaults="true" />  
                </behavior>  
            </serviceBehaviors>  
        </behaviors>  
</configuration>  

另请参阅

如何在业务流程中处理类型化错误协定