0

私はこのクラスを持っています色:

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>

注釈をいじってみましたが、成功しませんでした...

4

1 に答える 1

0

ツールにそのような応答を書き込ませることはできません。これを実現するには、独自の実装を作成して XML をマーシャリング/アンマーシャリングする必要があります。デフォルトでは、ツールはクラス タイプとその中の属性を使用して XML を生成します。

public class Color {
     private String name;
}

また、メソッドはList<Vendor>notを返しますList<Color>

于 2012-05-18T19:03:50.150 に答える