Java JAX-WS:XmlElementWrapper生成额外的客户机代码
我有一个带有WebMethod的服务,它返回Foo类的对象:Java JAX-WS:XmlElementWrapper生成额外的客户机代码,java,xml,web-services,jaxb,jax-ws,Java,Xml,Web Services,Jaxb,Jax Ws,我有一个带有WebMethod的服务,它返回Foo类的对象: public class Foo { private List<Detail> detailList; @XmlElement(name = "detail") @XmlElementWrapper(name = "detailList") public List<Detail> getDetailList() { return detailList;
public class Foo {
private List<Detail> detailList;
@XmlElement(name = "detail")
@XmlElementWrapper(name = "detailList")
public List<Detail> getDetailList() {
return detailList;
}
public void setDetailList(List<Detail> value) {
this.detailList = value;
}
public Foo() {
this.detailList = new ArrayList();
}
}
因为getDetailList()返回DetailList对象。
如何让getDetailList()方法在不更改上述XML的情况下返回列表?@XmlAccessorType(XmlAccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Root", propOrder = {
"detailList"
})
public class Foo {
@XmlElementWrapper(name = "detailList", required = true)
@XmlElement(name = "detail")
private List<Detail> detailList;
public List<Detail> getDetailList() {
return detailList;
}
public void setDetailList(List<Detail> value) {
this.detailList = value;
}
public Foo() {
this.detailList = new ArrayList();
}
}
@XmlType(name=“Root”,比例器={
“详细信息列表”
})
公开课Foo{
@XmlElementWrapper(name=“detailList”,required=true)
@xmlement(name=“detail”)
私人名单;
公共列表getDetailList(){
返回详细列表;
}
公共void setDetailList(列表值){
this.detailList=值;
}
公共食物({
this.detailList=新的ArrayList();
}
}
签出:谢谢您的回答,但更改访问类型无效。wsimport仍然使用getDetail()方法生成内部类Foo.DetailList
foo.getDetailList().getDetail();
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Root", propOrder = {
"detailList"
})
public class Foo {
@XmlElementWrapper(name = "detailList", required = true)
@XmlElement(name = "detail")
private List<Detail> detailList;
public List<Detail> getDetailList() {
return detailList;
}
public void setDetailList(List<Detail> value) {
this.detailList = value;
}
public Foo() {
this.detailList = new ArrayList();
}
}