webservice返回SoapSerializationEnvelope在android端解析问题

一般情况下:

SoapObject soapObject = (SoapObject) envelope.getResponse();

SoapObject detail = (SoapObject) envelope.getResponse();

for (int i = 0; i < detail.getPropertyCount(); i++) {       
                              SoapObject mstr = (SoapObject) detail.getProperty(i);
                              String str_result  = mstr.getProperty(0).toString();
                        }

但这种方法往往会产生java.lang.ClassCastException:

org.ksoap2.serialization.SoapPrimitive这样的错误。

应该

Object soapObject =

(Object) envelope.getResponse();

或者

SoapPrimitive soapObject =

(SoapPrimitive) envelope.getResponse();

然后再对获得的内容进行解析(不能再使用detail.getProperty(i)解析了,SoapPrimitive没有这个函数)

时间: 2024-10-05 13:31:59

webservice返回SoapSerializationEnvelope在android端解析问题的相关文章

ProtocolBuffer在Android端的解析

开题篇 近期公司在使用Protocol Buffer替代原先的json作为移动端的数据交互格式.虽然服务端和CTO把这项新技术吹的天花乱坠,说什么体积小,不易被破解乱七八糟的.可是作为Android端人员,我仅仅关心数据怎样解析的问题.折腾了两天,终于解析成功,我来分享下我的过程,有什么更好的建议大家都提提. 生成Java实体类篇 网上找了一大堆的攻略.都是讲protocol的下载与编译,给的链接大部分已经不能直接下载.我直接说我怎么做的. 下载最新的proctoc.exe 链接地址https:

Spring MVC返回json数据给Android端

原先做Android项目时,服务端接口一直是别人写的,自己拿来调用一下,但下个项目,接口也要自己搞定了,我想用Spring MVC框架来提供接口,这两天便抽空浅学了一下该框架以及该框架如何返回json数据.在这里边介绍两种个人觉得比较方便的两种方法(PS:其实是我现在只会这两种). 1.直接PrintWriter输出json数据 使用该方法时,可以自己拼凑json字符串,不过我并不赞同使用该方法,毕竟太容易出错了.所以这里我是先构建jsonobject对象,在将该对象打印出来.首先,我们要导入一

WebService传递XML数据 C#DataSet操作XML 解析WebService返回的XML数据

Webservice传递的数据只能是序列化的数据,典型的就是xml数据.   /// <summary>         /// 通过用户名和密码 返回下行数据         /// </summary>         /// <param name="UserName">用户名</param>         /// <param name="UserPwd">密码</param>    

flutter android端 原理解析

首先看MainActivity, 继承FlutterActivity 再看FlutterActivity代码,继承Activity,实现Provider.PluginRegistry.ViewFactory 12345678910111213141516 private final FlutterActivityDelegate delegate = new FlutterActivityDelegate(this, this);private final FlutterActivityEven

Java服务器对外提供接口以及Android端向服务器请求数据

讲解下java服务器是如何对移动终端提供接口的,以什么数据格式提供出去,移动端又是怎么请求服务器,接收以及解析返回数据的. 服务端:还是在原先S2SH框架的项目上(搭建SSH详细步骤及其相关说明),加入Servlet来做对终端提供接口的事情. Android端:用了一个网络访问框架okHttp,向服务器请求数据. 服务端: servlet接收移动端的get.post请求,进行相应逻辑处理后将要返回的数据封装成json格式写出去. 对数据库的操作传统的Servlet是用jdbc,但是操作过于繁琐,

Android端上传图片到后台,存储到数据库中 详细代码

首先点击头像弹出popwindow,点击相册,相机,调用手机自带的裁剪功能,然后异步任务类访问服务器,上传头像,保存到数据库中, 下面写出popwindow的代码 //设置popwindow public PopupWindow getPopWindow(View view){ PopupWindow popupWindow=new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParam

Android volley 解析(四)之缓存篇

这是 volley 的第四篇 blog 了,写完这篇,volley 的大部分用法也都算写了一遍,所以暂时不会写 volley 的文章了,如果想看我前面写的文章,可以点这里 Android volley 解析(三)之文件上传篇 为什么要用缓存 我们知道,当客户端在请求网络数据的时候,是需要消耗流量的,特别是对于移动端用户来说,对于流量的控制要求很高.所以在做网络请求的时候,如果对数据更新要求不是特别高,往往都会用到缓存机制,一方面能减少对服务端的请求,控制流量:另一方面,当客户端在没有网络的情况下

Android ListView分页加载(服务端+android端)Demo

Android ListView分页加载功能 在实际开发中经常用到,是每个开发者必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了测试. 服务端使用MyEclipse,Android端使用Eclipse. 实现效果图: 服务端一共100条数据,共分四页,每页有25条数据. 源代码: 服务端: 需要导入图中这几个jar包. 在运行Android端代码前,需要开启服务端: 下面先给出服务端的代码: 类EmpDataSource: package com.android

Android Intent 解析之二

服务端Intent执行过程: Sticky:这个类型的BroadCast表示某些Intent需要被保留,当新的应用起来后,需要关注这个消息,但是呢,又不需要启动这个应用来接收此消息,比如耳机插入等消息. 这个函数的主要作用就是根据这个Intent的特点,构造BroadCastRecord加入到不同的列表,等待被处理: 这样发送就到了下面这个函数中了: 控制到了scheduleBroadcastsLocked这里,它的逻辑很简单: private final void scheduleBroadc