安卓调用webservice获取特殊类型数据

因项目需求,故有以下代码(有被调试过,可能无法直接运行)
所需jar下载地址:http://download.csdn.net/detail/lin358/9686785(2016/11最新版3.6.2)

//调用的方法
String methodName = "getWeather";

//创建httpTransportSE传输对象
HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);

//使用soap1.1协议创建Envelop对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

//实例化SoapObject对象
SoapObject request = new SoapObject(SERVICE_NS, methodName);

//设置参数
request.addProperty("theCityCode", "福州");
request.addProperty("theUserID", "31121");

//将SoapObject对象设置为SoapSerializationEnvelope对象的传出SOAP消息
envelope.bodyOut = request;
envelope.dotNet = true;
//envelope.addMapping(SERVICE_NS, "EqEntity", EqEntity.class);

try{
//调用webService
ht.call(SERVICE_NS + methodName, envelope);
//txt1.setText("看看"+envelope.getResponse());
//t.setText("启动->");

List<EqEntity> list = new ArrayList<EqEntity>();
if(envelope.getResponse() != null){

//txt2.setText("有返回");
SoapObject result = (SoapObject) envelope.bodyIn;
//Object result1 = envelope.getResponse();

String name = "";
SoapObject so = (SoapObject) result.getProperty(0);
for(int i = 0; i<so.getPropertyCount(); i++){
SoapObject object = (SoapObject)so.getProperty(i);

// Field[] fields = object.getClass().getFields();
// for (int s = 0; s < fields.length; s++) {
// Field field = fields[s];
// field.setAccessible(true);//忽略访问权限,私有的也可以访问
// String a = field.get(object).toString();
// }
int count = object.getPropertyCount();
if(count==10){
//byte[] tt = StringToByte(object.getProperty(3).toString(), "UTF-8");

list.add(new EqEntity(object.getProperty(0).toString(),
object.getProperty(1).toString(),
object.getProperty(2).toString(),
Base64.decode(object.getProperty(3).toString(), Base64.DEFAULT),
object.getProperty(4).toString(),
object.getProperty(5).toString(),
object.getProperty(6).toString(),
object.getProperty(7).toString(),
object.getProperty(8).toString(),
object.getProperty(9).toString()));
}
//EqEntity e = (EqEntity) oo;
//name += so.getProperty(i).toString()+"||";
//txt1.setText("返回值 = "+name);
}
//t.append("返回值 = "+name);
}else{
// t.append("无返回");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值