Исключение JAXB: Класс, не известный этому контексту

Когда я называю конкретный успокоительный сервисный метод, который создается с помощью CXF, я получаю следующую ошибку, кто-либо знает, почему и как разрешить его?

JAXBException произошел: класс com.octory.ws.dto. ProfileDto, ни любой его суперкласс известны этому контексту...

Следующее является сервисным методом и соответствующим DTOs:

public class Service {
   public Response results() {
   Collection<ProfileDto> profilesDto = new ArrayList<ProfileDto>();
   ...
   SearchResultDto srd = new SearchResultDto();
   srd.setResultEntities(profilesDto); // Setting profilesDto collection as resultEntities
   srd.setResultSize(resultSize);
   return Response.ok(srd).build();
   }
}

SearchResultDto:

@XmlRootElement(name="searchResult")
public class SearchResultDto {
    private Collection resultEntities;
    private int resultSize;

    public SearchResultDto() { }

    @XmlElementWrapper(name="resultEntities")
    public Collection getResultEntities() {
        return resultEntities;
    }

    public void setResultEntities(Collection resultEntities) {
        this.resultEntities = resultEntities;
    }

    public int getResultSize() {
        return resultSize;
    }

    public void setResultSize(int resultSize) {
        this.resultSize = resultSize;
    }
}

ProfileDto:

@XmlRootElement(name="profile")
public class ProfileDto {
    ...
    ...
    public ProfileDto() { }
    ...
}
36
задан ABK07 13 July 2010 в 13:44
поделиться

1 ответ

Ваш класс ProfileDto не ссылается на SearchResultDto. Попробуйте добавить @XmlSeeAlso(ProfileDto.class) в SearchResultDto.

37
ответ дан 27 November 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: