5

同じXMLタイプ名の2つのクラスがあるというエラーが発生しています

したがって、問題は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

インフォソース

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "InfoSource", propOrder = {
    "infoSource"
})

public class InfoSource {

    @XmlElement
    protected List<String> 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;

なぜここに問題があるのですか?

4

3 に答える 3

9

のように、名前空間属性の異なる値をそれぞれに追加しようとしました@XmlType(namespace="test1", name = "InfoSource", propOrder = { "infoSource" }) )か?

于 2012-09-05T06:48:04.000 に答える
2

このような状況では、例外「x counts of IllegalAnnotationExceptions」がスローされます

class A{}
class B extends A{}
class C extends A{}

次のようにクラス A に注釈を追加する問題を解決します。

@XmlTransient
パブリック クラス A
{}

于 2013-03-05T13:47:38.213 に答える
-1

@XmlType(name = "Info_Source", propOrder = { "infoSource"

コードでこれを試してください

于 2013-01-23T09:53:42.793 に答える