Я использую wsdl.exe для преобразования файла WSDL и файла Types.xsd в файл C #. Файл wsdl определяет необязательные переменные ( minOccurs = "0" maxOccurs = "1"
), а сгенерированный тип .NET обрабатывает это, создавая два поля - одно для переменной (например, status
) и один, чтобы вы знали, указано ли оно ( statusSpecified
).
Есть ли способ использовать инструмент wsdl
для создания только одного поля то есть Nullable
(т.е. если не null, он указывается)? (Если это поможет, думаю, я могу изменить файл wsdl, чтобы он содержал элементы nillable = "true"
.)
Есть ли другой, лучший инструмент, который будет генерировать типы .NET из WSDL? Я использую .NET 4, поэтому было бы полезно, если бы сгенерированные типы использовали такие функции, как типы, допускающие значение NULL.
ПРИМЕЧАНИЕ. Я только что понял, что использую инструмент wsdl из .NET 2 и что в новых проектах следует использовать WCF. для этого материала. Есть ли указатели на способ WCF получить то, что я хочу?
Что касается WCF, эта статья указала мне направление использования инструмента svcutil
(который уже был в моем PATH, поэтому я мог просто запустить его из командной строки в папке с wsdl и xsd такие файлы: svcutil * .wsdl * .xsd / language: C #
). К сожалению, svcutil, похоже, не лучше справляется с использованием типов, допускающих значение NULL, вместо переменных xSpecified
.