2
我正在使用帶jaxb編組/解組的sping ws端點來引用Organisation
對象(我們的本地類型)的列表。該端點是SOAP 1.1,請求消息中沒有提供參數。哪些春天ws jaxb註釋更改xml元素名稱
我明白JAXB不能很好地處理列表,所以我使用包裝類。
@XmlRootElement(name="orgResponse", namespace=....)
public class OrganisationListWrapper {
private ArrayList<Organisation> organisationList;
public getOrganisationList() {
return organisationList;
}
public setOrganisationList(ArrayList<Organisation> organisationList) {
this.organisationList = organisationList;
}
}
端點....
@PayloadRoot(localPart=.... namespace=....)
@ResponsePayload
public OrganisationListWrapper getOrganisations() {
OrganisationListWrapper wrapper = new OrganisationListWrapper();
wrapper.setOrganisationList(.... call service layer get list ....);
return wrapper;
}
這工作得很好,我得到一個SOAP有效載荷與
<orgResponse>
<organisationList>
... contents of organisation 1
</organisationList>
<organisationList>
... comtents of organisation 2
</organisationList>
.... etc ....
</orgResponse>
組織類不JAXB註釋。它是第一次通過Web服務公開的預先存在的類的大量列表的一部分。試圖通過無需手動進入和註釋他們。
我可以在XmlRootElement
註釋中覆蓋名稱OrganisationWrapper
並使用orgResponse
。我想用organisation
覆蓋子元素中的organisationList
名稱,但一直未能找到執行此操作的註釋。
我可以organisation
替換數組列表名稱,它會正常工作,但在這裏,我們的編碼標準要求我們把List
在我們列表中的名稱結束。我想試着堅持下去。我試過XmlElement
,但是這產生了jaxb異常。
任何建議,將不勝感激。
將'@ XmlElement'添加到'organisationList'字段是要走的路。你嘗試了什麼,你有什麼異常? – skaffman 2011-03-25 12:04:00