Включить информацию о часовом поясе в поле даты WSDL - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть свойство модели .NET в сообщении SOAP с типом данных «date» (не datetime):

[System.Xml.Serialization.XmlElementAttribute(DataType="date")]
public System.DateTime DateField
{
    get
    {
        return this._dateField;
    }
    set
    {
        this._dateField = value;
    }
}

WSDL для этой части модели выглядит следующим образом:

<element minOccurs="0" name="DateField" type="xs:date" />

Требуется, чтобы при отправке этого сообщения включалась информация о часовом поясе.

Когда я устанавливаю свойство DateField, я вижу, что DateTimeKind установлен в UTC.Однако, когда это сообщение отправляется через SOAP, получатель получает только дату (например, 2018-08-01), а не дату с часовым поясом (например, 2018-08-01 T00: 00: 00 + 01: 00 ).

Я ознакомился со схемой XML на w3.org (https://www.w3.org/TR/xmlschema-2/#date) и в ней говорится, что «Объект даты» - это объект с годом, месяцеми свойства дня, такие же, как у объектов dateTime, плюс необязательное свойство часового пояса со значением часового пояса . "

Мой вопрос заключается в том, как включить это необязательное свойство часового пояса в мойSOAP XML вместо даты, когда я уже передаю DateTime с указанным часовым поясом?

1 Ответ

0 голосов
/ 05 декабря 2018

Удаление атрибута работает:

[System.Xml.Serialization.XmlElementAttribute(DataType="date")]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...