coolfiry

认认真真做人,兢兢业业做事!
posts - 36, comments - 13, trackbacks - 0, articles - 0

CXF使用中List作为传输参数相关问题的解决

Posted on 2008-08-05 20:09 Coolfiry 阅读(1002) 评论(0)  编辑  收藏 所属分类: 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);

这样就完全解决问题了。

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-08-05 20:14 编辑过
 
 

推荐图书:
走出软件作坊》、《悟透JavaScript》、《Head First 设计模式
相关链接:
网站导航: