Я только начал работать над веб-сервисами, используя JAXB, чтобы разобрать входящие документы SOAP в классы нашей предметной области. Я столкнулся с технической проблемой, связанной с форматом OIO XML, используемым в государственных учреждениях Дании. В формате, среди прочего, указано, что нельзя использовать атрибут схемы xml, допускающий значение nillable, для объявления элемента xml. Таким образом, я должен найти другое решение моей проблемы.
Описание У нас есть несколько чисел и дат, которые клиент веб-сервиса может отправить для обновления приложения. Эти числа и даты сопоставляются с полями POJO эквивалентных типов. Задача состоит в том, как сбросить значение такого поля POJO, создав и отправив правильный XML.
Отправка 12:31:34T01-01-2010..... обновит поле POJO до указанного значения.
Однако я не могу сбросить поле, отправив его, поскольку это не разрешено для элементов даты и времени.
Я также не могу отправить, так как это не разрешено стандартом OIO XML.
Поэтому в качестве мрачного обходного пути я планирую отправить, поскольку это не должно быть запрещено стандартом OIO XML.
Это приводит к проблеме, что если элемент startTime содержит атрибут delete="true", то должно ли соответствующее поле POJO быть установлено равным нулю; если a не имеет атрибута удаления, то передайте допустимое значение элемента в поле POJO.
Аннотация @XMLElement позволяет мне отображать только значение startTime, например.
class MyClass{
@XMLElement
private Date startTime;
}
Как я могу заставить атрибут удаления также влиять на значение поля MyClass.startTime?
С уважением, Джеспер