我用下面的Ant任務生成客戶端代碼的Web服務端點制定者:的wsimport不會生成集合
<wsimport wsdl="target/classes/META-INF/wsdl/MyService.wsdl"
sourcedestdir="target/wsimport"
verbose="true"
xnocompile="false"
xendorsed="true"
destdir="target/classes"
keep="true"
package="com.example.client.jaxws"
wsdlLocation="/META-INF/wsdl/MyService.wsdl" />
這會生成客戶端使用將數據傳遞到Web服務類,例如
class Foo {
String name;
List<String> bars;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public List<String> getBars() {
return bars;
}
}
注意,爲bars
屬性生成的類不包括二傳手,所以客戶端必須通過訪問它:
someFoo.getBars().add("val");
但是沒有一個setter意味着該類贏得」不能使用依賴於JavaBeans約定的各種工具(比如Dozer),所以我想強制wsimport來生成setter。我發現了一個thread,指示您可以通過添加強制setter產生以下的Ant任務
<xjcarg value="-Xcollection-setter-injector"/>
然而,這個線程是很老了,上面似乎沒有工作了。
我想你意味着一個螞蟻插件? – 2011-04-26 08:05:30
@唐 - 不,我的意思是一個jaxb插件 – jtahlborn 2011-04-26 11:23:19