Android_WebServices_介绍
1.WebService的介绍
WebService为基于Web的服务。它使用Web(HTTP)方式,接收和响应请求。从而实现远程调用.
(1).从WebService的工作模式上理解的话。它跟普通的Web程序(比方ASP、JSP等)并没有本质的差别,都是基于HTTP传输协议的程序。(2).WebService所使用的数据是基于XML格式的和SOAP协议。
当中SOAP即简单对象訪问协议(Simple Object Access Protocal)协议是一种基于XML编码规范的文本协议。
2.WebService三要素
WebService三要素:SOAP、WSDL(WebServices Description Language)、UDDI(Universal Description Discovery and Integration)
(1).SOAP
1).SOAP介绍
SOAP消息基本上是从发送端到接收端的单向传输。但它们经常结合起来运行类似于请求 / 应答的模式。全部的 SOAP消息都使用 XML 编码。一条 SOAP消息就是一个包括有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。把 SOAP 绑定到 HTTP 提供了同一时候利用 SOAP
的样式和分散的灵活性的特点以及 HTTP 的丰富的特征库的长处。在HTTP上传送 SOAP 并非说 SOAP 会覆盖现有的 HTTP 语义,而是 HTTP 上的 SOAP 语义会自然的映射到 HTTP 语义。在使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上。而 RPC 应答映射到 HTTP 应答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定。
SOAP也能够绑定到TCP和UDP协议上。
2).SOAP消息格式
<SOAP-ENV:Envelope 各种属性="" > <SOAP:HEADER>
</SOAP:HEADER> <SOAP:Body>
</SOAP:Body> </SOAP-ENV:Envelope>3).语法规则
一条 SOAP 消息就是一个普通的 XML 文档。包括下列元素:必需的 Envelope 元素。可把此 XML 文档标识为一条 SOAP 消息可选的 Header 元素,包括头部信息必需的 Body 元素,包括全部的调用和响应信息可选的 Fault 元素。提供有关在处理此消息所错误发生的信息
(2).WSDL
Web Service描写叙述语言WSDL 就是用机器能阅读的方式提供的一个正式描写叙述文档而基于XML的语言,用于描写叙述Web Service及其函数、參数和返回值。由于是基于XML的,所以WSDL既是机器可阅读的。又是人可阅读的。
(3).UDDI
UDDI 是一种文件夹服务,企业能够使用它对 Web services 进行注冊和搜索。UDDI。英文为 "Universal Description, Discovery and Integration",可译为“通用描写叙述、发现与集成服务”
3.在Android上的应用
在Android平台调用WebService须要依赖于第三方类库ksoap2,它是一个SOAP Web serviceclient开发包。
KSoap2 Android 是Android平台上一个高效、轻量级的SOAP开发包,等同于Android平台上的KSoap2的移植版本号。眼下最新版本号ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar,下载地址是:http://code.google.com/p/ksoap2-android/
4.简单调用实例
public void getRemoteInfo(String phoneSec) {
String nameSpace = "http://WebXml.com.cn/";
String methodName = "getMobileCodeInfo";
String endPoint = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";
String soapAction = "http://WebXml.com.cn/getMobileCodeInfo";
// 指定WebService的命名空间和调用的方法名
SoapObject rpc = new SoapObject(nameSpace, methodName);
rpc.addProperty("mobileCode", phoneSec);
rpc.addProperty("userId", "");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.bodyOut = rpc;
envelope.dotNet = true;
HttpTransportSE transport = new HttpTransportSE(endPoint);
try {
// 调用WebService
transport.call(soapAction, envelope);
// 获取返回的数据
SoapObject object = (SoapObject) envelope.bodyIn;
// 获取返回的结果
final String result = object.getProperty(0).toString();
toast(result);
} catch (Exception e) {
e.printStackTrace();
toast(e.getMessage());
}
}
版权声明:本文博客原创文章。博客,未经同意,不得转载。
Android_WebServices_介绍的更多相关文章
- Android_WebServices_源代码分析
本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/38037989 在Android_WebServices_介绍一文中, ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- HTML DOM 介绍
本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...
- HTML 事件(一) 事件的介绍
本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...
- HTML5 介绍
本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...
随机推荐
- Redis相关命令及Jedis的demo(转)
org.springframework.data.redis.core.RedisTemplate在List操作时的一个注意事项:BoundListOperations boundListOperat ...
- C#分布式缓存Couchbase
C#分布式缓存Couchbase使用 一.简介 目前C#业界使用得最多的 Cache 系统主要是 Memcached和 Redis. 这两个 Cache 系统可以说是比较成熟的解决方案,也是很多系统当 ...
- 二维码(QR Code)生成与解析
二维码(QR Code)生成与解析 写在前面 经常在大街上听到扫码送什么什么,如果真闲着没事,从头扫到位,估计书包都装满了各种东西.各种扫各种送,太泛滥了.项目中从没接触过二维码的东东,最近要使用,就 ...
- Html.Partial和Html. RenderPartial
圣殿骑士-蓝剑行动 Html.Partial和Html. RenderPartial用法 Html.Partial和Html. RenderPartial用法 Html.partial和RenderP ...
- SendRedirect和forward差分
(1)重定向JSP实现JSP/Servlet跳转到目标资源的方法中,基本的想法是:server目标资源完成URL通过HTTP 在回答本报发client浏览器.收到的浏览器URL更新到地址栏后,而目标资 ...
- C++ Regsvr32订购具体解释
一.Regsvr32命令 Regsvr 32命令是Windows在控制文件(如延长DLL.OCX.CPL文件)注册和反注册工具. 命令格公式:Regsvr32 [/s] [/n] [/i[:cmdli ...
- HTML5实现刮奖效果
原文:HTML5实现刮奖效果 要实现刮奖效果,最重要的是要找到一种方法:当刮开上层的涂层是就能看到下层的结果.而HTML5的canvas API中有一个属性globalCompositeOperati ...
- JAVA转让JS功能
今天,在发展中使用js和Java互动.通常我们使用更多的是js转让Java方法.可以使用dwr.Ajax.jquery.突然发现Java转让js然后,我真的没见过,今天,互联网提供以下信息,顺便总结: ...
- UVA 10870 - Recurrences(矩阵高速功率)
UVA 10870 - Recurrences 题目链接 题意:f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n - 3) + ... + ad f(n - d), ...
- warning: shared library text segment is not shareable
warning: shared library text segment is not shareable error: treating warnings as errors 近期在调试一个Gsen ...