在Contract-First的模式下
我们使用svcutil.exe *.wsdl *.xsd /mc /l:cs 生成代理类时。
在设计Schema时需要注意以下几点
1. 不能用属性
2. 不能使用extision,如下
1: <xs:complexContent>
2: <xs:extension base="tns:RequestBase">
3: <xs:sequence>
4: <xs:element name="Culture" type="xs:string"></xs:element>
5: ......
6: </xs:sequence>
7: </xs:extension>
8: </xs:complexContent>
3. xml:choice不能放到顶级元素里,否则发布服务是出错。
4. minOccurs=0的值类型元素不能放到顶级元素里,不然不能生成xxxSpecified.
xxxSpecified指示在soap消息里传不传xxx属性。