加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService传输SoapObject数据出现 org.ksoap2.serialization.So

发布时间:2020-12-16 22:48:06 所属栏目:安全 来源:网络整理
导读:在很多地方都需要使用到WebService服务器,在最近做的一个项目中也是用到webService服务器,由于第一次开发web服务器,很多都不懂,都是找的网上的例程,一开始一切都很顺利,数据上传过程中是没有问题的,但是在下载过程中却遇到了一个很大的问题。 try {se

在很多地方都需要使用到WebService服务器,在最近做的一个项目中也是用到webService服务器,由于第一次开发web服务器,很多都不懂,都是找的网上的例程,一开始一切都很顺利,数据上传过程中是没有问题的,但是在下载过程中却遇到了一个很大的问题。

try {
									se.call(soapAction,envelope);
									//步骤8:获取从互联网返回的结果
									if(envelope.getResponse() != null)
									{
										Object resout = envelope.getResponse();
										System.out.println("result----" + resout.toString());
										System.out.println("result----" + resout.getClass());
										System.out.println(resout instanceof Vector);
										//解析集合resoult
										@SuppressWarnings("unchecked")
										Vector<SoapObject> vec = (Vector<SoapObject>) resout;
										System.out.println("vec--" + vec);
										//循环显示
										StringBuffer buffer = new StringBuffer();
										for(SoapObject soapObject : vec)
										{
											buffer.append(soapObject.getProperty("patient_phone")+"_");
											buffer.append(soapObject.getProperty("advice")+"#");
										}
在运行到Vector<SoapObject> vec = (Vector<SoapObject>) resout;的时候一直会报一个类型转换错误。


这个问题一直困扰了很多天,一直不知道是什么问题,但是在另外一台服务器上面下载竟然又是正常的(两台服务器的代码一模一样),两台服务器都能返回数据,但是就是其中一台会报出类型转换错误。

下面是从服务器收到的数据。

第一台服务器,转换正常

result----[anyType{advice=20,500,60,50,25,400; patient_phone=18875208558; },anyType{advice=67,560,70,654; patient_phone=13548263528; }]
第二台服务器,转换报错

result----anyType{advice=20,400; patient_phone=18875208558; }
然后注意到第一个返回的数据有一个[],然而第二台却没有,是不是因为[]的问题,然后就想着向服务器再发一台数据,跟第一台服务器一样,问题竟然解决了,不会报类型转换错误。

最后发现要下载数据的话,服务器里面的数据不能只有一条,一条数据必定报错,两条数据及以上,则正常!!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读