预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SOAPWeb服务介绍当今最为常见的两种Web服务类型分别是:REST和SOAP。不过,从趋势来看,越来越多人已经开始使用REST风格的Web服务。而SOAP大多也开始或已经转型REST,应该说REST会慢慢成为主流。这篇文章不会对REST介绍太多,主要的重点还是介绍一下SOAP风格的Web服务。WebService三要素实际上,现在说“WebService三要素”应该是不算很准确了,不过这个概念一直这样沿用,而且本文我们为了更能清楚阐释SOAPWeb服务,那么就这样定义。WebService的三个要素分别是:SOAP(SimpleObjectAccessProtoco)简单对象访问协议;WSDL(WebServicesDescriptionLanguage)网络服务描述语言;UDDI(UniversalDescriptionDiscoveryandIntegration)一个用来发布和搜索WEB服务的协议(非必须);SOAP用来描述传递信息的格式规范,WSDL用来描述如何访问具体的接口(比如它会告诉你该服务有哪些接口可以使用,参数是什么等等),UDDI用来管理、分发和查询WebService。下面我们将逐一详细介绍这三个要素,并通过结合实例来进行阐释。为了把这三个要素说得更清楚,我们将会使用一个免费的SOAPWeb服务作为例子进行阐述。该服务只提供一个接口即:根据QQ号,获取QQ在线状态。查看该服务SOAP它是一个协议,可以简单的理解为:它定义了一个基于XML的可扩展消息信封格式。因为客户端与服务器进行交互,由于大家的平台和应用程序都不一样,所以大家约定都采用SOAP这个协议来规范交互时的需要传递的消息。请求接口时,发送的消息例子:<?xmlversion="1.0"encoding="utf-8"?><soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><qqCheckOnlinexmlns="http://WebXml.com.cn/"><qqCode>8698053</qqCode></qqCheckOnline></soap:Body></soap:Envelope>接口响应时,返回的消息例子:<?xmlversion="1.0"encoding="utf-8"?><soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><qqCheckOnlineResponsexmlns="http://WebXml.com.cn/"><qqCheckOnlineResult>Y</qqCheckOnlineResult></qqCheckOnlineResponse></soap:Body></soap:Envelope>注:以上例子是使用SOAP1.1发送的消息,SOAP1.2发送的.消息格式其实大同小异,具体自己查看接口文档。下面对它结构进行详细说明。XML声明<?xmlversion="1.0"encoding="utf-8"?>该行是XML声明。它定义XML的版本(1.0)和所使用的编码(utf-8)。Envelope元素<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema">....</soap:Envelope>Envelope元素是SOAP消息的固定根元素,SOAP协议规定的,不能变,其中xmlns是XMLNamespace的缩写,表示XML命名空间。xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"是Envelope的一个属性,它表示