Почему при вызове веб-службы дата возвращается как "0001-01-01"? - PullRequest
0 голосов
/ 12 октября 2019

У меня очень специфическая проблема.

У меня есть этот код:

DT_PMNotificationRequestRecords request = new DT_PMNotificationRequestRecords();
request.NOTIF_DATE = DateTime.ParseExact(txtNotifData.Text, "yyyy-MM-dd", CultureInfo.InvariantCulture); 
request.REQ_START = DateTime.ParseExact(txtReqStart.Text, "yyyy-MM-dd", CultureInfo.InvariantCulture);

Теперь и Notif_DATE, и REQ_START имеют правильные значения даты.

Но когда объект запроса передается веб-службе, которую я написал, используя тот же класс, что и объект в массиве.

requestRecords = new DT_PMNotificationRequestRecords[]{request, request2};

Notif = new Notifications.SI_PMNotification_Out_SyncResponseSoapClient(bindingHttp, endPointHttp);

Notif.SI_PMNotification_Out_Sync(requestRecords);

Веб-служба:

public DT_PMNotificationResponseRecords[] SI_PMNotification_Out_Sync(DT_PMNotificationRequestRecords[] request)
{
    try
    {

Здесь в запросеобъект, дата REQ_Start возвращается как "0001-01-01", но notif_date является правильным, например, 10-10-2019.

В классе поля определены так:

[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date", Order=6)]
public System.DateTime NOTIF_DATE 
{
    get { return this.nOTIF_DATEField; }
    set { 
           this.nOTIF_DATEField = value;
           this.RaisePropertyChanged("NOTIF_DATE");
        }
}

[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date", Order=10)]
public System.DateTime REQ_START 
{
    get { return this.rEQ_STARTField; }
    set {
            this.rEQ_STARTField = value;
            this.RaisePropertyChanged("REQ_START");
        }
}
...