當我調用一個特殊的寧靜服務方法時,它使用CXF構建,我得到以下錯誤,任何人都知道爲什麼以及如何解決它?JAXB例外:本類不知道的類
發生JAXBException:類 com.octory.ws.dto。 ProfileDto還是其超類是已知的這個 方面的任何 ...
以下是服務方法和相關的DTO:
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() { }
...
}
添加@XmlSee也解決了問題;我在印象之下只有當被引用的類是一個子類時才需要註釋。謝謝。 – ABK07 2010-07-13 18:48:09
如果班級是'SearchResultDto',那麼T是通用的呢? –
2012-08-16 22:30:39
@Hendy Irawan - 也可以將註釋添加到Web服務本身(即在「@ WebService」註釋之後)。如果您正在處理泛型,那麼在該階段聲明其他類型更有意義,您應該知道全部類型。 – CurtainDog 2013-04-29 05:44:24