您的位置:首页 > 其它

webservice传list问题

2015-11-17 16:35 239 查看
最近遇到的一个问题

返回报文中有一个List<LnPayChkCode>,LnPayChkCode是一个javabean,LnPayChkCode的其中一个参数又是一个List<LnPayChkCode>,这样服务端是可以正常查到数据,但是在客户端的返回报文却收不到任何东西,是null。

解决的办法是在服务端的LnPayChkCode里把list改写成LnPayChkCode javabean的数组,将二级list和一级list中的数据依次给到数组里,在返回报文中也将list参数改写成数组,这样就可以成功传到客户端了。
<span style="white-space:pre">				</span>// 将接收到的审核指标放到mobile下LnPayChkCode类型的list中
ArrayList<LnPayChkCode> list = new ArrayList<LnPayChkCode>();
for (app.creditapp.lnpay.entity.LnPayChkCode lnPayChkCode : codeList) {
LnPayChkCode lpcc = new LnPayChkCode();
// 将lnPayChkCode中除了二级指标外的字段值赋到mobile下LnPayChkCode类型的lpcc中
BeanUtils.copyProperties(lpcc, lnPayChkCode);
// 新建一个LnPayChkCode型的数组存放二级指标
LnPayChkCode []array = new LnPayChkCode[lnPayChkCode.getList().size()];
if (lnPayChkCode.getList() != null) {
// 把二级指标从lnPayChkCode中拿出来放到array里
for (int i = 0; i < lnPayChkCode.getList().size(); i++) {
array[i] = new LnPayChkCode();// 初始化变量
BeanUtils.copyProperties(array[i], lnPayChkCode
.getList().get(i));
}
lpcc.setCodeArray(array);
}
list.add(lpcc);
}
// 新建一个LnPayChkCode型的数组作为返回报文的参数
LnPayChkCode []arrayCodes = new LnPayChkCode[list.size()];
// 将list中的值放到LnPayChkCode的数组中
for (int i = 0; i < list.size(); i++) {
arrayCodes[i] = list.get(i);
}
<span style="white-space:pre">				</span>toInputRspMsg.setArrayCodes(arrayCodes);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: