两个类具有相同的XML类型名称

我有这个错误,它说我有两个相同的XML类型名称的类

所以问题出在InfoSource – > NameSearchFilters – > SearchRequest之间

错误

Caused by: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions Two classes have the same XML type name "{http://test.au/schema/namesearch}InfoSource". Use @XmlType.name and @XmlType.namespace to assign different names to them. this problem is related to the following location: at au.test.identitySearch.model.InfoSource at protected au.test.identitySearch.model.InfoSource au.test.identitySearch.model.nameSearch.NameSearchFilters.infoSourceList at au.test.identitySearch.model.nameSearch.NameSearchFilters this problem is related to the following location: at au.test.identitySearch.model.InfoSource at protected au.test.identitySearch.model.InfoSource au.test.identitySearch.model.nameSearch.NameSearchFilters.infoSourceList at au.test.identitySearch.model.nameSearch.NameSearchFilters at protected au.test.identitySearch.model.nameSearch.NameSearchFilters au.test.identitySearch.ws.model.SearchRequest.searchFilters at au.test.identitySearch.ws.model.SearchRequest 

InfoSource

 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "InfoSource", propOrder = { "infoSource" }) public class InfoSource { @XmlElement protected List infoSource; 

NameSearchFilters

 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "NameSearchFilters", propOrder = { }) public class NameSearchFilters { @XmlElement protected InfoSource infoSourceList; @XmlElement protected String nameType; 

SearchRequest

 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "searchControls", "searchCriteria", "searchFilters" }) @XmlRootElement(name = "searchRequest") public class SearchRequest { @XmlElement(required = true) protected SearchControls searchControls; @XmlElement(required = true) protected NameSearchCriteria searchCriteria; @XmlElement protected NameSearchFilters searchFilters; 

为什么这里有问题?

您是否尝试过将不同的namespace属性值添加到每个属性中,如@XmlType(namespace="test1", name = "InfoSource", propOrder = { "infoSource" }) )

像这样的情况抛出exception’x count of IllegalAnnotationExceptions’

A级{}
B级扩展A {}
C类延伸A {}

解决问题在A类中添加注释,如下所示:

@XmlTransient
公共课A.
{}

@XmlType(name =“Info_Source”,propOrder = {“infoSource”

在代码中试试这个