Я написал веб-сервис JAX-WS в Java, создав WSDL и классы из XML-схемы.
Я добавляю службу как веб-ссылку в visual studio, чтобы использовать ее с клиентским приложением С#.NET.
В исходной схеме XML используются несколько типов даты/времени: xs: date и xs: dateTime для некоторых элементов.
Моя проблема в том, что мой тип dateTime не работает правильно. Он преобразуется в объект .NET DateTime (правильно) в сгенерированных классах (создается XMLSerializer в Visual Studio 2010), а затем я могу создать свой собственный объект DateTime и установить DateTime в одном из этих классов. Однако при отправке запроса на сервер клиентское приложение отправляет нулевое значение вместо объекта DateTime, на который я его установил. Поэтому я предполагаю, что это неправильно сериализуется.
У меня нет той же проблемы с типом даты, который сериализует/десериализует штраф.
Я заметил что-то, что может быть проблемой, но не уверен:
Объект dateTime в сгенерированном классе выглядит следующим образом: [System.Xml.Serialization.XmlElementAttribute(заказ = 10)] public System.DateTime MyDateTime {...}
тогда как объект даты в сгенерированном классе выглядит следующим образом: [System.Xml.Serialization.XmlElementAttribute(DataType = "date", Order = 12)] public System.DateTime MyDate {...}
Итак, в объекте даты есть дополнительная информация - DataType = "date", но нет DateType для объекта dateTime. Это может быть проблема? Если да, то почему он не генерирует классы правильно?
Спасибо за любую помощь