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_介绍的更多相关文章

  1. Android_WebServices_源代码分析

    本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/38037989 在Android_WebServices_介绍一文中, ...

  2. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  3. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  4. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  5. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  6. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  7. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  8. HTML 事件(一) 事件的介绍

    本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...

  9. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

随机推荐

  1. jquery :操作iframe

    原文 jquery :操作iframe 1. 内容里有两个ifame <iframe id="leftiframe"...</iframe> <iframe ...

  2. eclipse 中 Android sdk 无法更新的问题

    诶,真是麻烦,想下个东西都下不了. 我也好久没折腾过这个了,在家的电脑是早就下载好了的,然后如今又须要下载一份.下不到.网上搜到了资料,记录下来: 第一种方法:       sdk manager - ...

  3. Eclipse 发布到网站的附加产品的形式 Update Site

    Eclipse 发布到网站的附加产品的形式 Update Site 通过Update Site Project项目将自己做的插件产品公布到公网上,给客户或其它測试人员下载和应用,这样自己的插件就以网站 ...

  4. ZOJ3822 ACM-ICPC 2014 亚洲杯赛事现场牡丹江司D称号Domination 可能性DP

    Domination Time Limit: 8 Seconds      Memory Limit: 131072 KB      Special Judge Edward is the headm ...

  5. vimer

    vimer 第1.0章.统一概念   不管学什么技术,我都深信概念是最重要的.是影响整个学习轨迹,决定能在这个技术领域高度. 当然如果你现在的目的不是在学习而在于解决问题(很多人不愿意承认,或者没发现 ...

  6. handlebar的一些用法——个人使用总结

    handlebar的一些用法 概述与介绍 Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less t ...

  7. Android Intent机制与常见的用法

    Activity Android于.Activity所有的程序都是必不可少,程都执行在Activity之中.Activity具有自己的生命周期(见http://www.cnblogs.com/feis ...

  8. 35,000FT大气压力的问题

    原来的问题:压力在喷气客机的飞行FL350(35,000脚)大约210mmHg.这是个大气压的数量? 在每平方英寸磅? 多少帕斯卡尔? http://wenwen.sogou.com/z/q33797 ...

  9. HDU 4932 Miaomiao&#39;s Geometry(推理)

    HDU 4932 Miaomiao's Geometry pid=4932" target="_blank" style="">题目链接 题意: ...

  10. 自己定义View之绘制圆环

    一.RingView 自己定义的view,构造器必须重写,至于重写哪个方法,參考例如以下: ①假设须要改变View绘制的图像,那么须要重写OnDraw方法.(这也是最经常使用的重写方式.) ②假设须要 ...