次のように定義されたサービスメソッドがあります。
public JaxbList<Deal> getDeal() {
List<Deal> deals = new ArrayList<Deal>();
Deal type = new Deal();
type.setDealID(1);
type.setName("June Discounts");
deals.add(type);
JaxbList list = new JaxbList(deals);
System.out.println("List size -> " + list.getList().size());
return list;
}
私のクライアントは次のように定義されています。
WebClient client = WebClient.create("....");
JaxbList deals = client.path("exampleservice/getDeal")
.accept("application/xml").get(JaxbList.class);
List<Deal> types = deals.getList();
サービス メソッドでコレクションのサイズを出力すると、結果は 1 として返されます。しかし、クライアントからの「タイプ」リストのサイズは 0 です。ブラウザで開くと、1 取引が表示されます。したがって、この問題は私のクライアントのようです。どこにあるのかわからないけど。
アイデア?
これが私の JaxbList クラスです。
public class JaxbList<T>{
protected List<T> list;
public JaxbList(){}
public JaxbList(List<T> list){
System.out.println("Setting list...");
this.list=list;
}
@XmlElement(name="Item")
public List<T> getList(){
return list;
}
}