Как создать поля / переменные, допускающие значение NULL, из WSDL вместо дополнительных полей / переменных

Я использую 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 .

6
задан Pat 28 September 2010 в 15:04
поделиться