这个问题的变体显然已经被问了几十次,但我需要的解决方案似乎非常难以捉摸。我希望这次是魅力!
我有一个 C# 应用程序,它通过 SOAP xml 与 Java Web 服务进行通信。应用程序使用 WSDL 导入服务没有问题。但是,xml 对象之一是 dateTime 类型。
<complexType name="Interaction">
<sequence>
<element name="ContactDate" type="dateTime" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
我有一个从数据库中检索到的日期,如下所示:2013-07-10。我需要使用 UTC 格式将它放入 XML dateTime 对象:yyyy-MM-ddTHH:mm:ss.fffzzz
我可以轻松地将其转换为正确解析的字符串。那不是问题。当我尝试将数据加载到服务对象中时会出现此问题。我无法将数据作为字符串加载。它必须是 DateTime 对象,但 DateTime 拒绝使用 UTC 格式。
我认为这可能是序列化的问题。我认为在转换为要发送到 Web 服务的 xml 时无法正确序列化。这是此特定元素的序列化信息:
[System.Xml.Serialization.XmlElementAttribute(Order=2)]
public System.DateTime ContactDate {
get {
return this.contactDateField;
}
set {
this.contactDateField = value;
this.RaisePropertyChanged("ContactDate");
}
}
关于我可能遗漏或做错的任何想法?任何帮助将不胜感激。谢谢!