高速缓存Intersystems%TIMESTAMP错误

时间:2012-11-26 11:57:05

标签: timestamp intersystems-cache intersystems

我是Intersystems Cache的新用户,并且从我通过%Timestamp应用程序调用的Web服务返回.NET属性时出现以下错误:

[System.FormatException] = {"The string '2012-11-22T20:00Z' is not a valid AllXsd value."}

有人知道如何在返回之前将%Timestamp属性重新格式化为欧洲日期/时间格式吗?

谢谢,

0

2 个答案:

答案 0 :(得分:0)

执行此操作的代码可在LogicalToXSD类的%Library.TimeStamp类方法中找到。查看代码,它不打算支持不同的日期/时间格式。

您可以将属性从数据类型TimeStamp更改为数据类型EuropeanTimeStamp,这是您创建为%Library.TimeStamp的子类的类。然后,您可以覆盖LogicalToXSDXSDToLogical方法。

显然,您使用的格式是Web服务的所有消费者将获得的格式。

您也可以在.NET方面处理此问题。如果您可以告诉使用Web服务的任何内容,有问题的属性是字符串,那么您可以稍后将其转换为日期/时间。

答案 1 :(得分:0)

看起来你正在使用SOAP? 如果有,请查看LogicalToXSD(..)方法。 (并考虑参数XMLTIMEZONE)。

如果您只需要转换实际值$ZTS is your friend