我是Intersystems Cache新手,在通过.NET应用程序调用的网络服务中返回%Timestamp属性时遇到以下错误:
[System.FormatException] = {"The string '2012-11-22T20:00Z' is not a valid AllXsd value."}有人知道如何在返回%Timestamp属性之前将其重新格式化为欧洲日期/时间格式吗?
谢谢,
O。
发布于 2012-11-27 01:55:36
在%Library.TimeStamp类的LogicalToXSD类方法中可以找到执行此操作的代码。看一下代码,它并不打算支持不同的日期/时间格式。
您可以将该属性从数据类型TimeStamp更改为数据类型EuropeanTimeStamp,后者是您创建为%Library.TimeStamp的子类的类。然后,您可以覆盖LogicalToXSD和XSDToLogical方法。
显然,您使用的任何格式都是web服务的所有使用者都将获得的格式。
您也可以在.NET端处理此问题。如果您可以告诉正在使用webs服务的对象,有问题的属性是一个字符串,那么您可以稍后将其转换为日期/时间。
发布于 2012-11-27 15:08:48
看起来你在用肥皂?如果是这样,请看一下LogicalToXSD(..)方法。(并考虑参数XMLTIMEZONE)。
如果您只需要转换实际值$ZTS is your friend
https://stackoverflow.com/questions/13564383
复制相似问题