我有一个使用 WCF 的 .NET 客户端。为了验证,我使用了一个 xsd,例如:
<xs:complexType name="MyBaseType">
<xs:sequence>
<xs:element name="Family" type="FamilyType"/>
<xs:element name="Relatives" type="RelativesType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
当我尝试发送一个仅包含“Family”但没有“Relatives”元素的 XML 实例时,验证结果为:
(翻译):
命名空间“...”中元素“myBase”的内容不完整。预期可能的元素列表:命名空间“...”中的“家庭、亲属”
(原来的):
“命名空间'...'中的 Der Inhalt des Elements "myBase" ist unvollständig。Erwartet wurde die Liste der möglichen Elemente: 'Family, Relatives' in Namespace '...'"
但是根据模式,“Relatives”元素是可选的(不需要存在),因为它是用minOccurs="0"
.
Reference.cs 中有什么我遗漏的吗?- 除了一些System.Xml.Serialization.XmlRootAttribute我必须添加到自动生成的代码中。
使用的工具:svcutil,4.0.30319.1