Java @XmlAttribute在xml响应中显示为@XmlElement

Java @XmlAttribute在xml响应中显示为@XmlElement,java,intellij-idea,xsd,jaxb,Java,Intellij Idea,Xsd,Jaxb,我有一个接收http rest请求的应用程序,我必须使用xml进行响应 所以我声明了一个xsd: “根元素” ... 我使用jaxb生成java类(id显示为Xmlattribute) 但是,当我使用SoapUI测试我的应用程序时,响应是: <root> <test/> <id>toto</id> <---------- </root> toto我生成的类“词典库”: 请发布您生成的类。我生成的类“l

我有一个接收http rest请求的应用程序,我必须使用xml进行响应

所以我声明了一个xsd:

“根元素”


...
我使用jaxb生成java类(id显示为Xmlattribute)

但是,当我使用SoapUI测试我的应用程序时,响应是:

<root>
   <test/>
   <id>toto</id>      <----------
</root>

toto我生成的类“词典库”:


请发布您生成的类。我生成的类“lexicore”:@xmlacessortype(xmlacesstype.FIELD)@XmlType(name=”“,propOrder={“test”})@XmlRootElement(name=“root”)公共类根{@xmlement(namespace=”http://.../.../xml)受保护的测试;@xmltattribute(name=“id”)受保护的字符串id;(getter/setter)…}将此作为问题的一部分添加。我尝试封送生成的Java CLA,它似乎生成了正确的输出。是的,封送序列化生成了正确的输出。我想我发现了错误-->spring boot的错误项目配置。很抱歉,在我为“SpringBootApplication”和“Controller”使用相同的类之前,我在项目的racine中使用了main类,而为请求映射使用了Controller类
<root>
   <test/>
   <id>toto</id>      <----------
</root>
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "test"
})
@XmlRootElement(name = "root")
public class Root{

    @XmlElement(namespace = "http://.../.../xml")
    protected Test test;
    @XmlAttribute(name = "id")
    protected String id;

(getter/setter)
...
}