Java 为什么JAXB继承不能在静态类中工作
我有xsd:Java 为什么JAXB继承不能在静态类中工作,java,binding,jaxb,Java,Binding,Jaxb,我有xsd: <xs:complexType name="AppService1ResponseType"> <xs:complexContent> <xs:extension base="AppResponseType"> <xs:sequence minOccurs="0"> <xs:element name="Person" minOccurs="0" ma
<xs:complexType name="AppService1ResponseType">
<xs:complexContent>
<xs:extension base="AppResponseType">
<xs:sequence minOccurs="0">
<xs:element name="Person" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Element1" type="xs:string" nillable="true"
minOccurs="0" /> ....
和binding.xml
:
<jaxb:bindings node="//xs:complexType[@name='AppService1ResponseType']/xs:complexContent/xs:extension/xs:sequence/xs:element[@name='Person']">
<inheritance:implements>com.app.PersonI</inheritance:implements>
</jaxb:bindings>
com.app.PersonI
它应该实现这个生成类的接口。我还尝试了另一个XPath或
元素[@name='Person']
,但没有成功。当我尝试另一个非静态类如AppService1ResponseType时,inheritace工作正常。是否有一些解决此问题的方法?好的。我发现xpath中有错误,应该以/xs:complexType
public static class Osoba
implements Serializable
因此,绑定中正确的xpath是:
<jaxb:bindings node="//xs:complexType[@name='AppService1ResponseType']/xs:complexContent/xs:extension/xs:sequence/xs:element[@name='Person']/xs:complexType">
<inheritance:implements>com.app.PersonI</inheritance:implements>
</jaxb:bindings>
com.app.PersonI
请提供一个完整的复杂类型定义和绑定。什么是“不成功”?有错误报告吗?免责声明:我是JAXB继承插件的作者,需要帮助。我在另一个线程中发现我的xPath错误,所以在添加/xs:complexType后,它开始工作。我只是不知道为什么这是必要的。