#.net #web-services #wsdl
#.net #веб-службы #wsdl
Вопрос:
У меня есть Net
приложение. Я использую внешний WSDL
. XML
возвращаемое значение выглядит следующим образом,
<xsd:complexType name="DataOutput">
<xsd:all>
<xsd:element name="ID" type="xsd:int"/>
<xsd:element name="ID2" type="xsd:int"/>
<xsd:element name="EJEMPLAR" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
Когда я создаю ссылку на WSDL, она создает medatada Class
public class DataOutput
{
public int ID { get; set; }
public int ID2 { get; set; }
public string EJEMPLAR { get; set; }
}
Проблема, с которой я сталкиваюсь, заключается в том, что поля ID
и ID2
могут быть null
.
Я не могу изменить веб-службу, она внешняя, поэтому я не могу с ней справиться.
Когда я устанавливаю
public string ID { get; set; }
public string ID2 { get; set; }
Но выдает мне ошибку, которую невозможно проанализировать int
не null
Как я могу управлять со своей стороны?
Спасибо
Ответ №1:
Вы могли бы определить типы class com с нулевым значением в .Net
Например, public int? ИДЕНТИФИКАТОР{ получить; установить; }.
Комментарии:
1. Проблема не в том, как я определяю класс, проблема в том, что wsdl извлекает значение null в типе int… Если я определяю класс без полей int, когда Wsdl анализирует мой класс, это не выдает мне ошибки, потому что типы Wsdl int не извлекаются… Итак, проблема в том, что при чтении типов int используется wsdl. Вопрос должен быть в том, как НЕ анализировать, когда значение равно null? Спасибо