导致 SAXException2 的原因:“com.foo.Bar”的实例正在替换“java.lang.Object”,但“com.foo.Bar”绑定到匿名类型[重复]

2024-04-18

将现有 jaxb(同时使用 jaxb1.0.1 和 jaxb 2.0.5)应用程序(在带有 jdk5 的 JBoss 4.3 上)迁移到 jaxb 2.1.10(随 jdk6 提供,更新 jdk1.6.0_30)。

我无法修改客户提供的架构。

我已经从 Sun RI 中删除了 jaxws20、jwsdp、jaxp 和 jaxb jar 的所有引用,并且仅使用 jdk 6 提供的 jar。

有什么指点吗??

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 com.foo.Bar@a2e3ss
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)

这可能是由于添加Foo对象到List<Bar>类型 SOAP 参数。

几周前我也遇到了同样的异常。我预计会出现编译错误,因此幕后一定有一些丑陋的类型强制允许它发生。我没有进一步调查 - 更换Foo's with Bar的(无论如何他们应该是)解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导致 SAXException2 的原因:“com.foo.Bar”的实例正在替换“java.lang.Object”,但“com.foo.Bar”绑定到匿名类型[重复] 的相关文章

随机推荐