webservice传list问题

最近遇到的一个问题

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

阅读更多
想对作者说点什么? 我来说一句

webservice获取List案例

2012年08月17日 1.39MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭