【发布时间】:2014-05-29 14:34:29
【问题描述】:
这是问题的一些背景:我正在使用 SOAP Web 服务,但我遇到了日期类型的一些问题。我还没有开发 Web 服务,因此我无法完全理解它们。我有一个有两种方法的网络服务:getCountry 和setCountry。必填字段之一是beginDateField。问题是,当我调用getCountry 方法时,我得到一个error in XML - 就是这个。我认为它可能与日期字段有关,为了解决问题,我访问了解决方案资源管理器中服务参考下的 reference.cs 文件,并将它的 DateTime 更改为 string: 并且它工作得很好当我想从网络服务中获取国家/地区时。发生的情况是,当我想调用 setCountry 方法时,C# 要求我输入一个字符串,但 WebService 需要一个 DateTime。
现在是具体问题 - 我有这段代码:
private string beginDateField;
(...)
public string beginDate {
get {
return this.beginDateField;
}
set {
this.beginDateField = value;
}
}
我需要将beginDateField 设置为DateTime,我已经尝试过:
set {
this.beginDateField = Convert.ToDateTime(value);
}
但我得到一个错误:
有什么想法吗?
谢谢
(编辑)
这是最初的错误,它让我首先更改了reference.cs 文件。
错误是葡萄牙语,上面写着There is an error in the XML document (1, 1274)
【问题讨论】:
-
看来,您必须指定您使用的日期的格式;见
DateTime.ParseExact -
很抱歉,我不知道怎么做。格式验证应该在 web 服务端。从客户端,
DateTime应该传递而不考虑它的具体格式(之后由 web 服务进行验证) -
在客户端违反与您的 Web 服务的合同将一事无成。 Web 服务需要一个 DateTime,而您无法通过修改 reference.cs 来更改它。您为什么不告诉我们您最初遇到的哪些错误促使您更改了 reference.cs?
-
嗨@Steve,我编辑了我的帖子,原来的错误是:
There is an error in the XML document
标签: c# .net web-services datetime soap