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