Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAX-WS:XmlElementWrapper生成额外的客户机代码_Java_Xml_Web Services_Jaxb_Jax Ws - Fatal编程技术网

Java JAX-WS:XmlElementWrapper生成额外的客户机代码

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;

我有一个带有WebMethod的服务,它返回Foo类的对象:

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();
    }
}