Веб-служба .NET call возвращает значение null в поле, определенном как int

#.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? Спасибо