webservice传list问题

来源:互联网 发布:数据库update语法 编辑:程序博客网 时间:2024/06/08 05:04

最近遇到的一个问题

返回报文中有一个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);

0 0
原创粉丝点击