Мне нужно использовать веб-службу в веб-приложении С#. Я создал прокси-класс с помощью команды wsdl, и я могу использовать его для вызова веб-службы и получения результата.
Проблема в том, что у меня есть 2 поля в XML-ответе, которые предоставляют данные в тегах cdata. Значения этих двух полей возвращаются в виде пустых строк. Я попытался добавить атрибут XMLText в определение поля в прокси, как показано ниже.
[XmlText]
public string Title {
get {
return this.TitleField;
}
set {
this.TitleField = value;
}
}
[XmlText]
public string Description {
get {
return this.descriptionField;
}
set {
this.descriptionField = value;
}
}
но я получаю следующую ошибку, когда выполняется вышеуказанное изменение кода:
Сведения об исключении: System.InvalidOperationException: невозможно сериализовать объект типа «WService.XXXXXXXXXX», так как он имеет несколько атрибутов XmlText. Рассмотрите возможность использования массива строк с XmlTextAttribute для сериализации смешанного сложного типа.
Вот как значения отображаются в ответе: ‹Название›‹![CDATA[название теста]]›‹/Название› ‹Описание›‹![CDATA[описание теста]]›‹/Описание›
Тип данных для обоих этих элементов указан как строка в XSD. Пожалуйста, дайте мне знать, как эта проблема должна быть исправлена.