Posted on 2008-08-05 20:09
Coolfiry 閱讀(4956)
評論(1) 編輯 收藏 所屬分類:
Java
在項目使用CXF的過程中,遇到了有關List作為傳輸參數的時候,如果WebService端沒有明確給出List的泛型類型會報錯。
例如
CXF的WebService端口接口的一個方法為為:
1 public boolean updateMessageStatus(List batchIds);
客戶端的的調用為:
1 //預先初始化cxf對象cxfObj
2 List<String> list=new ArrayList<String>();
3 list.add("1");
4 cxfObj.updateMessageStatus(list);
在客戶端進行調用WebService時會發生錯誤,錯誤為:unexpected element (uri:"", local:"arg0")等,據分析生成的wsdl,這是因為CXF在進行數據marshal時不知道要將要轉換的類型。
解決辦法是:在WebService端的接口必須用List的泛型類型參數,如:
1 public boolean updateMessageStatus(List<String> batchIds);
這樣就完全解決問題了。