使用WCF中的Schema进行消息验证

时间:2012-02-13 21:11:28

标签: wcf validation soap schema message

我想要的是用少量属性(例如min,max,string length等)来装饰我的数据契约,并获得为我的SOAP(非.net)客户端生成的XML模式。经过一些互联网研究,我发现了以下文章:

http://wcfsecurity.codeplex.com/wikipage?title=How%20To%20-%20Perform%20Message%20Validation%20with%20Schemas%20in%20WCF

这对我来说似乎很有手册。我正在寻求一些更体面的解决方案和开箱即用的功能。由于WCF提供了这么多,如果它错过了SOAP标准验证的整个概念,我会感到惊讶。

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

DataContract对象的XML模式可在服务的WSDL中找到。出于多种原因,WCF未针对这些模式显式验证soap消息。首先,反序列化soap消息的过程实际上是基于数据类上定义的DataContract或XML序列化来执行验证。接下来,如果针对XML模式验证每个soap消息,则会有明显的性能损失。最后,WCF通过IExtensibleDataObject可选接口功能支持肥皂消息版本控制,以实现前向和后向兼容性。为此,XML模式验证很可能过于严格。