我使用的企业库验证应用程序块我的WCF服务。 一切都很好,和.Net消费者可以抓住FaultException<ValidationFault>
例外获得人类可读的业务错误的集合。 但是,它看起来不为non-.Net消费者很大的,尤其是那些将要寻找在原始SOAP消息。 肥皂原因文本始终是“ 此故障的创建者未指定原因。”这是不是非常有帮助,因为是有原因的,它是根据指定的<Detail>
元素,如下面的例子故障信息。
有没有什么办法来改变文字“ 此故障的创建者未指定原因。”喜欢的东西“ 请ValidationFault详细信息 ”更有帮助?
<s:Body>
<s:Fault>
<s:Code>
<s:Value>s:Sender</s:Value>
</s:Code>
<s:Reason>
<s:Text xml:lang="en-GB">The creator of this fault did not specify a Reason.</s:Text>
</s:Reason>
<s:Detail>
<ValidationFault xmlns="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Details xmlns:b="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF">
<b:ValidationDetail>
<b:Key i:nil="true"/>
<b:Message>Value Validator</b:Message>
<b:Tag>request</b:Tag>
</b:ValidationDetail>
</Details>
</ValidationFault>
</s:Detail>
</s:Fault>
</s:Body>