更改WSDL以设置时间模式
本文关键字:时间 模式 设置 WSDL 更改 | 更新日期: 2023-09-27 18:03:17
我有一个用c#创建的asmx web服务,它在一个方法中返回一个DateTime值。在WSDL中,这个值被分配给一个时间类型。客户端是在SAP系统上创建的,客户端无法解析此时间信息,得到以下错误:
cx_sy_conversion_no_date_time xslt在这种情况下我们能做些什么呢?我想到的第一个方法是修改wsdl,使所有的时间值以一种SAP客户端可以解析的方式序列化。
你有两个选择:
- 更改客户端(SAP):也许它允许一些配置
- 更改服务器(.NET):以适当的格式发送值,以便SAP能够理解它们
你可以这样扩展你的实体:
[DataContract]
public class Entity
{
private const string YourOwnFormat = "dd.MM.yyyy";
public DateTime DateTime
{
get;
set;
}
[DataMember(Name = "DateTime")]
private string DateTimeString
{
get
{
return DateTime.ToString(YourOwnFormat, CultureInfo.InvariantCulture);
}
set
{
DateTime =
DateTime.ParseExact(value, YourOwnFormat, CultureInfo.InvariantCulture);
}
}
}