Migrowanie istniejącego jaxb (używa zarówno jaxb1.0.1 jak i jaxb1.0.1 jaxb 2.0.5) (na JBoss 4.3 z jdk5) do jaxb 2.1.10 (dostarczone z jdk6, aktualizacja jdk1.6.0_30).Co powoduje SAXException2: Instancja "com.foo.Bar" zastępuje "java.lang.Object", ale "com.foo.Bar" jest powiązany z anonimowym typem
Nie mogę zmodyfikować schematu dostarczonego przez klienta.
Usunąłem wszystkie odniesienia do słoików jaxws20, jwsdp, jaxp i jaxb od Sun RI i używam tylko słoików dostarczanych przez jdk 6.
Jakieś wskazówki?
Caused by: com.sun.istack.SAXException2: Instance of “com.foo.Bar” is substituting “java.lang.Object”, but “com.foo.Bar” is bound to an anonymous type [email protected]
at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:247)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:662)
at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:165)
at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:152)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:332)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:698)
at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:152)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:332)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:592)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:320)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:493)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:325)
Jeśli masz zagnieżdżone anonimowe typy złożone w XSD, może to być przyczyną problemu. jaxb 1.x pozwoliłby na takie rzeczy bez zgłaszania błędu, ale wydaje się, że jest to problem w jaxb 2.x. Jeśli to jest problem, nie znam żadnego sposobu radzenia sobie z nim poza modyfikacją XSD. – Durandal
@MRalwasser - Czy są jakieś informacje, które możesz opublikować, a które mogę wykorzystać do odtworzenia błędu, który widzisz, aby pomóc w usunięciu problemu? –