如何强制WCF使用xs:All而不是xs:Sequence,以便SOAP元素排序无关紧要?

Dea*_*ton 7 .net wcf

如何在Ws使用xs:All而不是xs:Sequence在wsdl/xsd中为Web服务定义复杂对象类型?

我遇到的问题是xs:Sequence要求调用应用程序按照WCF生成的xsd中指定的顺序传递soap消息中的元素(默认情况下,这是按字母顺序).xs:所有(或选择)并不关心订单.

是否可以通过某处的配置选项更改此行为?

Phi*_*ppe 3

从我的角度来看,我认为你不能。您可以手动编写 WSDL 文件,然后使用 svcutil.exe 生成代码。

如果您只想按照与字母顺序不同的顺序对元素进行排序,则可以使用 [DataMember] 属性上的 Order(从 1 开始,而不是像数组那样从 0 开始)参数对 DataContract 中的元素进行排序 ([DataMember(Order) = 1)]、[DataMember(Order = 2)] 等)。