Список оболочек в JAXB MOXy

#java #xml #jaxb #eclipselink #moxy

#java #xml #jaxb #eclipselink #moxy

Вопрос:

Я объявляю свойство объекта списка с:

 @XmlRootElement(namespace = "...")
@XmlType
public class Test {
    private List<String> myList;

    @XmlElementWrapper(name = "myListWrapper")
    @XmlElement(name = "myList")
    public List<String> getMyList() {
        return myList;
    }
}
  

Когда экземпляр этого класса с пустым списком myList маршалируется, MOXy не генерирует пустую оболочку MyListWrapper . Однако JAXB RI сделал бы это. Сгенерированный XML выглядит следующим образом при использовании RI:

 <ns2:test xmlns:ns2="...">
    <myListWrapper/>
</ns2:intensionalSet>
  

Есть ли способ получить тот же результат с MOXy?

Комментарии:

1. Вы пробовали использовать required = true в аннотации оболочки?

Ответ №1:

Примечание: я руководитель EclipseLink JAXB (MOXy) и член группы экспертов JAXB 2 (JSR-222).

Это ошибка в реализации MOXy JAXB. Вы можете использовать следующую ссылку, чтобы отследить эту проблему:

Комментарии:

1. Чтобы люди не переходили по ссылке, ошибка теперь исправлена.