Я должен использовать Веб-сервис Java, который имеет элементы Даты и времени типа.
Пример от wsdl:
...
...
Когда потребление Веб-сервиса через Добавляет Сервисную Ссылочную Visual Studio, 2008 генерирует следующий код:
[System.Xml.Serialization.SoapElementAttribute(DataType="time", IsNullable=true)]
public System.Nullable fromTime { ... }
[System.Xml.Serialization.SoapElementAttribute(DataType="date")]
public System.DateTime dateOfInspection { ... }
Отправка сообщения приводит к отражательной ошибке с innerException:
'время' является недопустимым значением для SoapElementAttribute. Свойство DataType. Свойство может только быть указано для типов примитивов.
При удалении DataType = "время" и DataType = атрибуты "даты" все, кажется, работает. Но изменение сгенерированного кода является анти-шаблоном. Так есть ли какой-либо другой способ получить эту работу?
Обновление:
Проблема только существует, если дата или факторы времени nullable!
Я Сообщил об ошибке на сайте подключения Microsofts. Если у Вас есть та же проблема, можно проголосовать за него здесь: https://connect.microsoft. com/VisualStudio/feedback/details/534453/consuming-java-webservice-with-nullable-date-and-time-elements-in-wcf-generates-invalid-datatype-attributes
Обновление 2:
Microsoft подтвердила, что это - ошибка и unlikly, который будет зафиксирован.
Обновление 3:
Я Сверенный VS2010 и это все еще генерирует неверный код. Btw, мы закончили тем, что изменили сгенерированный код...