使用SOAP时,datetime数据类型的最小/最大值是多少?

时间:2011-10-14 14:30:00

标签: wcf web-services datetime soap

我有一个可互操作的WCF服务,需要为客户端提供DateTime值。

如果某个字段设置为“unlimited”(.NET中为DateTime.MaxValue),我想提供此DateTime的最大值。但是为了保持其可互操作性并且客户将其视为“无限制”,将最大限度地传递给客户端的确切值是什么?

我很担心因为.Net DateTime.Max内部没问题,但Linux的最大日期时间值是2038年1月19日。

我应该检查SOAP规范的datetime的最大值吗?

编辑:我真的想要使用这个DateTime值,而不在我的合同中添加任何其他字段! SOAP允许的最大日期时间是多少?由于某些原因,我无法在谷歌上找到它。

感谢。

1 个答案:

答案 0 :(得分:0)

好的,这就是我现在正在使用的内容:

根据SOAP的日期时间描述:http://www.w3.org/TR/xmlschema-2/#dateTime,如果我理解正确,则值可能介于0001和9999之间,与.NET涵盖的非常相似。

所以我将这些值用于服务器端的最小值和最大值。在客户端,检索值并将其映射到其自身的最小值和最大值(例如linux max / min datetime)。是的,这意味着客户在SOAP通信之前/之后几乎被迫进行此映射。

<强>更新 从我的角度来看,我没有意识到我可以通过通道使用可以为空的值(DateTime?)。似乎我稍后了解它的存在(非常蹩脚)。