wcf: строковый элемент nillable= " false"

у меня есть клиент, который требует, чтобы мой required строка элементов nillable="false", в настоящее время все строки в wsdl выходят nillable="true", например:

<xs:element name="username" nillable="true" type="xs:string" />

как я могу изменить nillable="false" ?!? Я приму любые предложения о том, как это сделать? Я первый человек, который столкнулся с этим?

1 ответов


как этот элемент определен в вашем договоре данных?

Если это еще не сделано, попробуйте добавить IsRequired=true предложение атрибута элемента данных:

[DataContract]
class YourDataStructure
{
   ......

   [DataMember(IsRequired=True)]
   string username;

   .....
}

кроме этого, я не знаю никакого способа повлиять на xsd, отображаемый из вашего контракта данных WCF, за исключением написания собственного расширения WsdlExporter (что вполне возможно - просто кажется немного излишним здесь).