我試圖創建動態WS客戶端和我有一些問題用的ComplexType參數WS操作。這裏是例子:WS動態客戶端和複雜類型參數
的WebService:
@WebMethod
public int testPerson(Person a) {
return a.getAge();
}
class Person {
private int age;
public Person() {
}
public Person(int i) {
this.age = i;
};
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
這裏是我如何調用WS:
Client c = JaxWsDynamicClientFactory.newInstance().createClient("wsdlPath");
c.invoke("testPerson",...);
好吧,我的問題是,我應該通過什麼參數來調用此WebService(如我說客戶端必須是動態的,所以我不能將類Person導入客戶端)?是否有可能我只傳遞基本類型的結構(在這種情況下,一個元素結構與年齡參數)?謝謝你的任何建議。
謝謝。只是爲了擴大你的問題與同樣的問題別人:我已經使用BeanUtils的lib中添加參數爲對象,所以你不需要調用setter方法 – graczun
如何是上面的代碼中動態的,當你硬編碼「foo.bar.Person」? – Stackee007
@ Stackee007 - 這是動態的,因爲我們沒有硬編碼WSDL存根(或端點地址),也沒有實際的類類型,即我們沒有做這樣的:'人的人=新的Person()'。一個基本的字符串參數可以很容易地與來自屬性文件 – kolossus