我有winform客户端将对象传递给我的webservice(Oracle服务)。当我拦截生成下面的架构的httplog时
<InputDateRange>
<DateFrom>2014-01-01</DateFrom>
<ScheduledDate>false</ScheduledDate>
<DateTo>2014-04-03</DateTo>
<DateHence>2 weeks hence</DateHence>
</InputDateRange>
DateHenceSpecified是来自服务的属性,我在C#代码
中设置bool值falseOracleService.DateHenceSpecified = false;
我在引用类中看到了这段代码。
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool DateHenceSpecified {
get {
return this.dateHenceFieldSpecified;
}
set {
this.dateHenceFieldSpecified = value;
this.RaisePropertyChanged("DateHenceSpecified");
}
}
searlizer如何知道根据bool值省略此元素。
如果我在“OracleService.DateHenceSpecified = True”中提到,那么我得到如下的值。我不明白,谁拉动了元素必须生成的触发器。
<InputDateRange>
<DateFrom>2014-01-10</DateFrom>
<ScheduledDate>false</ScheduledDate>
<DateHence>1 week hence</DateHence>
</InputDateRange>
我在这里不明白,谁创建xml是客户端还是服务?谁决定在那个xml中创建哪个元素?
如果客户端客户端如何知道哪个元素必须根据bool值创建?