日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebService传输SoapObject数据出现 org.ksoap2.serialization.SoapObject cannot be cast to java.util.Vector的问题

發布時間:2024/10/8 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebService传输SoapObject数据出现 org.ksoap2.serialization.SoapObject cannot be cast to java.util.Vector的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在很多地方都需要使用到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,0,500,0,60,0,50,0,25,400; patient_phone=18875208558; }, anyType{advice=67,0,560,0,70,0,70,0,50,654; patient_phone=13548263528; }]第二臺服務器,轉換報錯

result----anyType{advice=20,0,500,0,60,0,50,0,25,400; patient_phone=18875208558; }然后注意到第一個返回的數據有一個[],然而第二臺卻沒有,是不是因為[]的問題,然后就想著向服務器再發一臺數據,跟第一臺服務器一樣,問題竟然解決了,不會報類型轉換錯誤。

最后發現要下載數據的話,服務器里面的數據不能只有一條,一條數據必定報錯,兩條數據及以上,則正常!!!


總結

以上是生活随笔為你收集整理的WebService传输SoapObject数据出现 org.ksoap2.serialization.SoapObject cannot be cast to java.util.Vector的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。