Тестирование службы SOAP на C# с пустой датой, приводящей к ошибкеC#

Место общения программистов C#
Ответить
Anonymous
 Тестирование службы SOAP на C# с пустой датой, приводящей к ошибке

Сообщение Anonymous »

Итак, я пишу тесты для устаревшего веб-сервиса. У меня есть проект Visual Studio (С#). Я добавил правильную ссылку на сервис. Есть способ добавления контакта. Когда я это делаю, все работает великолепно, пока я не провожу тест с фрагментом данных, в результате чего в ответе будет больше данных.
Пример первый: предоставить запросу основные данные. Ответ возвращается и десериализуется. Все хорошо.
Пример второй: добавьте в запрос еще один элемент. Этот элемент заставляет ответ включать сегмент, который не включен в первый пример. В этом сегменте происходит свидание. Сгенерированный код для десериализации:

Код: Выделить всё

    /// 
[System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=3)]
public System.DateTime ExpirationDate {
get {
return this.expirationDateField;
}
set {
this.expirationDateField = value;
this.RaisePropertyChanged("ExpirationDate");
}
}
Я смотрю на ответ в Fiddler и вижу:
Изображение

Тег присутствует. Значение отсутствует.
Как мне обработать пустой элемент, который должен быть десериализован до даты?
Я вижу определение, задокументированное для потребителей
Изображение

Я ожидаю (думаю?), что это поле должно быть отмечено знаком "?" ([дата?]). Верно?
В любом случае. Я не создатель и не разработчик этой службы, а всего лишь тестер.
Можно ли справиться с этим так, чтобы его можно было успешно десериализовать, возможно, до даты по умолчанию, например 01.01.0001 Возможно, 12:00:00?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... ding-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»