以下是服务的架构。
<xs:element name="StartDate" type="tns:DateType">
<xs:annotation>
<xs:documentation>The start date of the planning item in question</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="DateType">
<xs:annotation>
<xs:documentation>
0 - Hard Date (Use the date defined by the year, month and day attributes
2 - Retirement
3 - Death
4 - Disability
5 - Long Term Care
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Date">
<xs:complexType>
<xs:attribute name="date_type" use="optional" default="0">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:enumeration value="0">
<xs:annotation>
<xs:documentation>Hard Date (Use the date defined by the year, month and day attributes</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="2">
<xs:annotation>
<xs:documentation>Retirement</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="3">
<xs:annotation>
<xs:documentation>Death</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="4">
<xs:annotation>
<xs:documentation>Disability</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="5">
<xs:annotation>
<xs:documentation>Long Term Care</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
这是代理类
公共部分类DateTypeDate {
private int date_typeField;
public DateTypeDate()
{
this.date_typeField = 0;
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.ComponentModel.DefaultValueAttribute(0)]
public int date_type
{
get
{
return this.date_typeField;
}
set
{
this.date_typeField = value;
}
}
}
我有一个要求,我们需要在date_type中发送0值。
1-我尝试了以下方法,假设默认情况下应该指定“0”值。
StartDate = new DateType();
DateTypeDate date = new DateTypeDate();
2-然后我明确地将“date_type”值指定为0
StartDate = new DateType();
DateTypeDate date = new DateTypeDate();
date.date_type = 0;
StartDate.Date = date;
在这两种情况下,“date_type”节点都不会出现在实际请求xml被发送到服务中。这是生成的请求xml。
<StartDate>
<Date></Date>
</StartDate>
But if i assign a different value than 0 then i can see the date_type node. for example
<StartDate>
<Date date_type="2"></Date>
</StartDate>
Would you able to help what could be the reason that node doesn't appear in request xml id i assign it to "0" also is there any way the node can appear without making chnages in schema. Thanks in advance
答案 0 :(得分:0)
我不是XML Schema专家,但在我看来问题几乎可以肯定是因为模式中的以下行:
<xs:attribute name="date_type" use="optional" default="0">
如果属性是可选的,则意味着客户端不必发送它。尝试改为需要它。