我有这个课程颜色:
public class Color {
private String name;
private List<String> usedInShapes;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getUsedInShapes() {
if (usedInShapes== null) {
return null;
}
return new ArrayList<String>(usedInShapes);
}
}
并且返回此bean在具有Color对象列表
的包装器上返回public class ColorListResponse {
private final List<Color > colorList;
@XmlElement(required=true)
public List<Color> getColorList() {
return colorList;
}
}
当调用该方法时,用户会收到类似
的响应<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getColorsResponse xmlns:ns2="http://example.com/ws">
<return>
<colorList>
<name>YELLOW</name>
</colorList>
<colorList>
<name>BLUE</name>
</colorList>
<colorList>
<name>RED</name>
</colorList>
<colorList>
<name>BROWN</name>
</colorList>
</return>
</ns2:getColorsResponse>
</S:Body>
</S:Envelope>
我需要的是:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getColorsResponse xmlns:ns2="http://example.com/ws">
<return>
<colorList>YELLOW</colorList>
<colorList>BLUE</colorList>
<colorList>RED</colorList>
<colorList>BROWN</colorList>
</return>
</ns2:getColorsResponse>
</S:Body>
</S:Envelope>
我一直在尝试弄乱注释,但没有成功......
答案 0 :(得分:0)
您不能让该工具编写那种响应。要完成它,您必须编写自己的实现来编组/解组XML。默认情况下,该工具使用类类型及其中的属性生成XML。
public class Color {
private String name;
}
此外,您的方法会返回List<Vendor>
而不是List<Color>
。