0
我的Web服务方法中的一个字段接受DateTime值。一旦服务用户以错误的格式提供了价值:“31-10-2010”(或者可能是“31-10-10”,说实话:我不确定,现在正在执行采伐)。它是“dd-mm-yyyy”而不是“标准XML日期时间为”yyyy-mm-ddTHH:MM:SS“。ASP.NET WebService:不要抱怨日期格式
问题在于拒绝将此日期作为”错误“(或无效)Web服务成功地解析这个字符串作为有效日期,它被解析为“1月31日,2011上午12时10分”。
问题1.为什么日期是在所有分析?
问题2.如何防止?
PS我已经实现了检查日期的业务逻辑在一些有意义的范围内(不超过10年后),但这并不总是帮助...
John,谢谢你的回答。 1)如果日期未被解析,则应发回“无效请求”错误或类似错误消息。 2)代码位于“客户端”,我知道他们的应用程序是在UNIX下运行的。可能他们认为发送“31-10-2010”... – Budda 2010-10-21 17:27:38
@Budda:它不会那样工作。他们以SOAP格式发送XML。他们应该根据服务的WSDL发送它。对于他们使用任何其他格式没有任何借口,因为在将WSDL中描述的数据发送为'xs:date'类型时,永远不会使用“UNIX格式”。随意发布一些重现问题的UNIX代码,或者使用.NET代码重现并发布该代码。 – 2010-10-21 19:05:49
不能访问那里的代码。试图重现...但不知道如何提交“自己的原始SOAP XML”的网络服务... – Budda 2010-10-22 18:23:00