我有以下XSD文件(显示的内容):
<xs:element name="person" type="Person"/>
<xs:element name="child" type="Child"/>
<xs:complexType name="Person">
<xs:sequence>
<xs:element name="age" type="xs:int"/>
<xs:element name="sex" type="xs:string"/>
<xs:element name="fullname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Child">
<xs:complexContent>
<xs:extension base="Person">
<xs:sequence>
<xs:element name="grade" type="xs:string"/>
<xs:element name="school" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
我可以编组Child类的实例,并使用Jersey REST API将它们发送到客户端浏览器。
但是当我尝试为Person类执行此操作时,它不再有效。我收到错误消息:
A message body writer for Java class app.Person, and Java type class app.Person, and MIME media type application/xml was not found
通过扩展Person模式类型,我是否以某种方式将其渲染为不再是根级元素?当Child没有扩展Person时,它工作正常。