3
есть типы:JAXB маршаллер анг дженерики (2)
class A{}
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
@XmlType(propOrder = {"obj"})
@XmlRootElement(name = "response")
public class B<T extends A> extends A{
private T obj;
@XmlElement(required = true)
public T getObj() {
return obj;
}
}
Когда я пытаюсь выстроить это я получаю сообщение об ошибке:
org.springframework.oxm.MarshallingFailureException: JAXB marshalling exception; nested exception is javax.xml.bind.MarshalException
- with linked exception:
[com.sun.istack.internal.SAXException2: unable to marshal type "com.my.B" as an element because it is missing an @XmlRootElement annotation]
ли jaxbMarshaller работать с родовым? Любые идеи?
благодаря
я пытаюсь выстроить экземпляр следующего класса: общественного класса B расширяет { ... } WHERE C является подклассом A –
roman
Я обновил свой ответ, это может быть связано с созданием вашего JAXBContext. –
эй Блейз, я не мог разобрать, что вызывает пространство имен во втором. Я столкнулся с аналогичной проблемой, когда дженерики печатаются с помощью имениpix (info), а конкретные классы - просто прекрасные, красивые xml. Можете ли вы помочь мне, как это сделать? Кстати, я использую аннотацию и попытался указать @XmlSchema на уровне pacjkage и типа, но безуспешно. –