1

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

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

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

谢谢,

O。

4

2 回答 2

0

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

如果您只需要转换实际值$ZTS 是您的朋友

于 2012-11-27T07:08:48.237 回答
0

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

您可以将属性从 data type 更改TimeStamp为 data type EuropeanTimeStamp,这是您创建为%Library.TimeStamp. 然后,您可以覆盖LogicalToXSDandXSDToLogical方法。

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

你也可以在.NET一边处理这个问题。如果您可以告诉正在使用 Web 服务的任何内容,所讨论的属性是一个字符串,那么您可以稍后将其转换为日期/时间。

于 2012-11-26T17:55:36.470 回答