У меня есть свойство модели .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 с указанным часовым поясом?