изменить wsdl, чтобы установить шаблон времени - PullRequest
1 голос
/ 25 июля 2011

У меня есть созданный в c # веб-сервис asmx, который возвращает значение DateTime одним методом.В WSDL это значение присваивается типу времени.Клиент создан в системе SAP, и клиент не может проанализировать эту информацию времени, получая эту ошибку:

cx_sy_conversion_no_date_time xslt

Что можно сделать в такой ситуации?Первое, что приходит мне в голову, - это изменить wsdl, чтобы все значения времени сериализовались таким образом, чтобы их можно было проанализировать клиентом SAP.

Большое спасибо.

1 Ответ

0 голосов
/ 25 июля 2011

У вас есть 2 варианта:

  1. Изменить клиента (SAP): возможно, он допускает некоторую конфигурацию
  2. Изменить сервер (.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);
        }
    }
}
...