从客户WSDL文件指定使用该语法中的时间数据类型: <xsd:simpleType name="time"><xsd:restriction base="xsd:time"><xsd:pattern value="[0-9]{2}:[0-9]{2}:[0-9]{2}"/></xsd:restriction></xsd:simpleType>
我包括WSDL文件作为一个Visual Studio C#项目“Web引用”(没有服务参考)。 产生这样的代码:
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="time")]
public System.DateTime I_TIMETO {
get {
return this.i_TIMETOField;
}
set {
this.i_TIMETOField = value;
}
}
的问题是,在所生成的有效载荷,从WSDL文件中的图案([0-9] {2}:[0-9] {2}:[0-9] {2}),则完全地忽略。 即有效载荷的样子:
<I_TIMETO xmlns="">17:11:00.0000000+01:00</I_TIMETO>
代替:
<I_TIMETO xmlns="">17:11:00</I_TIMETO>
这是不可能改变的Webservice,我不想改变自动生成的代码。