设为首页 加入收藏

TOP

Android调用Web服务(四)
2017-10-13 10:12:13 】 浏览:10053
Tags:Android 调用 Web 服务
peoInfo.setType(People.class); outObject.addProperty(peoInfo);*/ SoapSerializationEnvelope serializationEnvelope = new SoapSerializationEnvelope( SoapEnvelope.VER11);//设置soap版本 // 这一步添加映射非常关键 // 第一个参数为命名空间,第二参数为服务器中复杂类型的名称,第三参数是安卓的复杂类型 serializationEnvelope.addMapping(nameSpace, "People", People.class); serializationEnvelope.bodyOut = outObject; serializationEnvelope.dotNet = true;// 调用.NET的服务 HttpTransportSE transportSE = new HttpTransportSE(url); transportSE.debug = true;// 采用调试 try { transportSE.call(soapAction, serializationEnvelope);// 调用服务 Log.v("happy1", "服务调用成功"); SoapObject result = (SoapObject) serializationEnvelope.bodyIn; //把结果封送到消息中去,让ui线程显示 Bundle bundle = new Bundle(); bundle.putString("result",result.getProperty(0).toString()); Message message = new Message(); message.setData(bundle); message.what = 11; hander.sendMessage(message); return result; } catch (IOException ex) { Log.v("sad", "IO异常"); ex.printStackTrace(); } catch (XmlPullParserException ex) { Log.v("sad", "xml解析异常"); ex.printStackTrace(); } catch (Exception ex) { Log.v("sad", "服务调用异常异常"); } return null; } //按钮事件 btnObj.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Thread thread = new Thread(getSoapRequest); thread.start(); } }); //线程 Runnable getSoapRequest=new Runnable() { @Override public void run() { // TODO Auto-generated method stub getSoapResult(); } }; //消息处理 Handler hander = new Handler() { @Override public void handleMessage(Message msg) { if(msg.what=11){ lblResult.append(msg.getData().getString("result")+"\r\n"); } } };

上面的代码就能够传递复杂类型去调用WebService的服务,返回结果如下:

姓名:Juame/年龄:23

5 简述Wcf与WebServic的区别

WebService是一个行业标准,也是Web Service的规范,既不是框架,也不是技术,它使用xml扩展标记语言来表示数据,这正是WebService能够跨语言和平台的关键,而微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。

WCF 是一个分布式应用的开发框架,属于特定的技术,或者平台。既不是标准也不是规范。在一定程度上就是WebService,不得不说WCF确实非常方便,提供非常多且好用的特性,可以用来创建各种服务,而且自定义性也高,以后项目的服务搭建都会基于WCF来实现。

6 小结

本文总结了如何使用android调用web服务。在传递复杂类型调用服务的时候纠结的了半天,最后实现了传递复杂类型调用WebService服务,但没有实现对WCF服务的调用,而传递基类型调用服务,两者都可以。在第5小节中还简述了wcf和webservice之间的区别,其实在项目大都是采用wcf框架来发布自己的服务。下面会继续总结如何用java script来调用wcf发布的服务。

另Ksaop2下载链接:http://download.csdn.net/download/mingge38/9666650

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇WebView的使用及添加进度条 下一篇React-Native 之 FlexBox介绍和使..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目