wcf как установить DataMember без значения NULL для веб-службы SOAP - PullRequest
0 голосов
/ 12 ноября 2018

Я внедряю службу wcf.Мой класс структурирован так:

[DataContract]
public class NotificationsSapInfo
{
    [DataMember]
    [Required]
    [StringLength(3)] 
    public string ID_CLIENT { get; set; }
    [DataMember]
    [Required]
    [StringLength(60)]
    public string ID_OBJECT_CODE { get; set; }
    [DataMember]
    [Required]
    [StringLength(60)]
    public string ID_TYPE { get; set; }
    [DataMember]
    [StringLength(60)]
    public string ID_SUB_TYPE { get; set; }
    [DataMember]
    [StringLength(4)]
    public string ID_DIVISION { get; set; }
    [DataMember]
    [StringLength(50)]
    public string ID_LINE { get; set; }
}

Проблема, которая возникает, заключается в том, что в сгенерированном WSDL кажется, что он игнорирует атрибуты Required и StringLength.

Это частьWSDL сгенерировано.

<xs:complexType name="NotificationsSapInfo">

<xs:sequence>

<xs:element name="ID_CLIENT" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="ID_DIVISION" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="ID_LINE" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="ID_OBJECT_CODE" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="ID_SUB_TYPE" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="ID_TYPE" type="xs:string" nillable="true" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

Чего мне не хватает?

Заранее спасибо

1 Ответ

0 голосов
/ 12 ноября 2018

не уверен, будет ли это работать в вашем случае, но я использую его для контрактов данных и проверки данных:

В вашем атрибуте DataMember попробуйте добавить: IsRequired = true

[DataMember(IsRequired = true)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...