可以从业务流程发送两种类型的 SOAP 错误:类型化和非类型化的 SOAP 错误。 类型化的 SOAP 错误是指那些操作包含System.ServiceModel.FaultContractAttribute,并指定自定义 SOAP 错误类型的故障。 未类型化的 SOAP 错误是指在操作的契约中未指定的错误。
WCF 适配器不支持处理作为 WCF 服务发布的业务流程中的类型化故障协定异常。 但是,业务流程或管道始终可以返回非类型 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>