ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:220.83KB ,
资源ID:7180671      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7180671.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简单对象访问协议SOAP原理及抓包分析.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简单对象访问协议SOAP原理及抓包分析.docx

1、简单对象访问协议SOAP原理及抓包分析目录摘要 IAbstract II1 引言 12 概论 22.1 Web Service简介 22.2 WS的体系结构 32.3 Web服务 43 SOAP协议 63.1 SOAP协议 63.2 SOAP消息 73.3 SOAP=RPC+HTTP+XML 83.4 XML和HTML的差异 93.5 SOAP 的前景 104 SOAP协议结构 114.1 SOAP协议简介 114.2 SOAP协议结构及语法规则 124.3 SOAP 消息的基本结构 125 SOAP协议的应用 145.1 SOAP 和 WSDL 145.2 SOAP 体系结构 145.3 S

2、OAP 请求响应机制 165.4 SOAP 模式与实现 206 SOAP抓包分析实验 257 结论 29致谢 30参考文献 31摘要SOAP(Simple Object Access Protocol),它是一种标准消息传递协议,通常是Web Service的事实标准。SOAP规范描述了四个主要的构件.使用信封形式的封装数据和路由路径的格式化规范,传输或是绑定协议,编码规则,RPC调用机制 . 信封定义一个为描述消息内容的规范,这个消息有一种轮流排队处理的含义.协议绑定能够使用低级别的HTTP协议传递SOAP消息提供一个一般的机制.编码规则提够一种规范为了映射各种各样应用数据到基于标签表现的T

3、AG。最后 RPC机制提够了一种表示远程调用和他们返回值的方法。网络中,不管你的Web service是用什么工具,什么语言写出来的,只要你用SOAP协议通过HTTP来调用它,总体结构都一致。通常,你用你自己喜欢的语言(如VB 6或者VB.NET)来构建你的Web service,然后用SOAP Toolkit或者.NET的内建支持来把它暴露给Web客户。于是,任何语言,任何平台上的客户都可以阅读其WSDL文档,以调用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入

4、在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。 关键字:RFC,Web Service,HTTP,WSDL AbstractSOAP (Simple Object Access Protocol), which is a standard messaging protocol,communication.Is often the de facto

5、 standard Web Service.SOAP specification describes four main components. Use the envelope forms of packaging and routing path data format specifications, transmission or binding agreement, coding rules, RPC call mechanism. Envelope to define a standard for describing the message content, the news Th

6、ere is a rotation queue processing means. protocol bindings to the HTTP protocol using low-level SOAP message passed to provide a general mechanism. encoding rules provide enough of a standard application for mapping data to a variety of labels based on the performance of TAG. Finally, a RPC mechani

7、sm to provide enough distance call and they said the method return value.Whether your Web service is what tools, what language to write out, as long as you use SOAP protocol via HTTP to call it, are consistent with the overall structure. Typically, you use your own preferred language (such as VB 6 o

8、r VB.NET) to build your Web service, then use the SOAP Toolkit or. NETs built-in support to expose it to the Web client. Thus, any language, any platform, customers can read the WSDL document to call the Web service. Customers under the WSDL description document, will generate a SOAP request message

9、. Web service are on the Web server (such as IIS) later, the customer generates the SOAP request will be embedded in a HTTP o?N_ve_vN_(uSb4xNo?N”(u_0QzT_Ty_YKNvhhNeQvr_s_WNW_E_B_e_b_vv_h_0_W_e_b_gR/f_bNYVyrQ_bQNv_N*Na?L?z_(uR_P_C_R_e_m_o_t_e_ _P_r_o_c_e_d_u_then generate the appropriate SOAP respons

10、e. Web server to get the SOAP response, will then respond by way of HTTP send it back to the client. bbs.bitsCN.com China Webmaster ForumKEYWORDS: RFC,Web Service,HTTP,WSDL1 引言随着计算机技术的不断发展,现代企业面临的环境越来越复杂,其信息系统大多数为多平台、多系统的复杂系统。这就要求今天的企业解决方案具有广泛的兼容能力,可以支持不同的系统平台、数据格式和多种连接方式,要求在Internet 环境下,实现系统是松散耦合的、

11、跨平台的,与语言无关的,与特定接口无关的,而且要提供对Web 应用程序的可靠访问。随着异种计算环境的不断增加,各种系统间的互操作性就愈显得必要,要求系统能够无缝地进行通信和共享数据,从而在 Internet 环境下,消除巨大的信息孤岛,实现信息共享、进行数据交换,达到信息的一致性。Web services 希望实现不同的系统之间能够用软件-软件对话的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现基于WEB无缝集成的目标。Web服务是我们能够对因特网或网络上的一个对象进行远程调用RPC(Remote Procedure Call)。Web服务使用中性平台标准(例如:HTT

12、P和XML),这使我们可以对客户完全隐藏执行任务的细节,客户只需要知道这个服务的URL或方法调用使用的数据类型,而不需要知道该任务到底是一个在Linux上运行的还是一个在Windows上运行的用Java编程的ASP.NET服务。本论文中所研究的就是网络中SOAP协议的应用,主要是更深刻的理解SOAP协议在网络中客户端和服务器端进行通信,信息交流的过程中如何实现,相对于其他协议有哪些优点。而对于Web服务来讲,SOAP协议又有何独特的意义。2 概论2.1 Web Service简介Web服务(Web Service)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过W

13、SDL,通过UDDI来发现和获得服务的元数据。Web service到底是什么;在什么情况下你应该使用Web service。 分布式应用程序和浏览器 研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的受客户应用程序。这当然不是因为受客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信的问题。 传统的Windows富客户应用程序使用DCOM来与服务器进行通信和调用远程对象。配置好DCOM使其在一个大型的网络中正常工作将是一个极富挑战性的工作,同时也是

14、许多IT工程师的噩梦。事实上,许多IT工程师宁愿忍受浏览器所带来的功能限制,也不愿在局域网上去运行一个DCOM。在我看来,结果就是一个发布容易,但开发难度大而且用户界面极其受限的应用程序。极端的说,就是你花了更多的资金和时间,却开发出从用户看来功能更弱的应用程序。不信?问问你的会计师对新的基于浏览器的会计软件有什么想法:绝大多数商用程序用户希望使用更加友好的Windows用户界面。 关于客户端与服务器的通信问题,一个完美的解决方法是使用HTTP协议来通信。这是因为任何运行Web浏览器的机器都在使用HTTP协议。同时,当前许多防火墙也配置为只允许HTTP连接。 Web服务(Web Service

15、 WS)通常指通过Web提供的各种服务。一个典型的WS过程是:一个业务应用通过使用HTTP的SOAP协议向某个指定URL上的一个服务发出请求,这个服务接受并且处理该请求后返回一个响应。一个经常被引用的例子是股票报价服务,服务的请求是询问某股票的当前价格,服务的响应是该股票的价格。这是最简单的WS例子,其请求几乎瞬间即可被满足,请求和响应是同一个方法调用的不同组成部分。另外一个例子是指定货物高校配送线路的服务。其中,商店发出的请求中包含递送的目的地,服务经过处理后确定成本最低的配送线路。返回响应的时间取决于线路的复杂程度,因此有可能发送和相应的操作与请求分开进行。WS和WS的消费者通常都是交易者

16、,这使得WS的主流是企业对企业(B2B)间的业务处理。一个企业有可能使某些WS的提供者,同时又是其他WS的消费者。例如:对于一个香料批发企业,当他使用WS核对香草豆是否有活的时候,其角色时WS的消费者;当他把不同卖主的价格提供给未来消费者的时候,其角色又是WS的提供者。2.2 WS的体系结构总的来说Web Service的体系结构由简单对象访问模型而来,把所有的应用实体都抽象成服务,包括三个角色和三种基本此操作:三个角色如下:服务提供者(Service Provide):从商务角度看,它是指服务的所有者,从体系结构上来看,它是指提供服务的平台。服务请求者(Service Requester):

17、从商务角度看,它是指需要请求特定功能的企业,从体系结构看,它是指查找和调用服务的客户端应用程序。服务代理(Service Broker):它是指用来存储服务描述信息的信息仓库(Repository)。它负责为服务提供方发布服务,为服务请求方查找服务,并且将获取服务的信息绑定给请求方。三种基本操作如下:发布(Publish):服务提供者需要将服务进行一定的描述并发布到注册服务器上。在发布操作中,服务提供者需要通过注册服务器的神恩验证才能对服务描述信息进行发布和修改。查找(Find):服务请求方根据注册服务器提供的规范接口发出查询请求,从而获取所需服务的相关信息。在查找操作中,一般有两种查找模式。

18、一种是浏览模式(Browse Pattern),及服务请求方可以根据通用的分类标准来浏览或者通过一些关键词来搜索,逐步缩小查找的范围,直到找到满足需要的服务,其查找结果是一系列服务的集合。另一种是直接获取模式(Drill Down Pattern),即通过惟一的关键词直接得到特定服务的描述信息,其查找结果是唯一的。绑定(Bind):服务请求方通过分析从注册服务器中得到的服务绑定信息,例如服务访问路径、服务调用的参数、返回结果、传输协议、安全要求等,对自己的系统进行相应配置,进而可远程调用服务提供者所提供的服务。对应上述三种操作,给出了三种标准如下:SOAP(Simple Object Acce

19、ss Protocol,简单对象访问协议),它实现的是低层协议,定义了服务请求者和服务提供者之间的消息传输规范。SOAP用XML描述信息,用HTTP承贷消息。SOAP包括四部分:一是封皮,定义了描述消息和如何处理消息的框架;二是表达应用程序定义的数据类型实例的编码规则(SOAP编码规则);三是SOAP RPC表示,定义远程过程调用和应答的协议;四是SOAP绑定(Bind),定义法如何使用底层传输协议进行SOAP消息的交换。WSDL(Web Services Description Language,Web服务描述语言),它是Microsoft公司的SDL(Services Descriptio

20、n Language)、IBM公司的NASSL(Network-Accessible Services Specification Language)合并后被W3C接纳所形成的标准。WSDL为服务提供者提供以XML格式描述WS请求的标准格式,将网络服务描述为能够进行消息交换的通信端点的集合,以表达一个WS能做什么,它的位置在哪里,如何调用它等。UDDI(Universal Discover、 Description 、Integration 通用发现、描述、集成)它是在原有Microsoft提供的DISCO(Discription of Web Services)和IBM提出的。2.3 Web

21、服务Web服务(Web Service)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。Web服务是提供由HTML等语言描述的信息,Web浏览器是为了将这些信息提取出来在客户端运行的软件。互联网是Web服务器的集合体。从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web service 的应用程序叫做客户。例如,你想创建一个Web service ,它的作用是返回当前的天气情况。那么你可已

22、建立一个ASP页面,它接受邮政编码作为查询字符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。要调用这个ASP页面,客户端需要发送下面的这个HTTP GET请求:Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序。COM是一个非常好的组件技术,但是我们也很容易举出COM并不能满足要求的情况。Web的服务器软件成为Web服务器软件,这种为了通过HTTP进行交换的后台程序也称为HTTPd(HTTP daemon)。如表 2-1表 2-1 Web服

23、务器软件Web服务器软件运行环境说明IIS(Internet Information Serber)WindowsNT/2000 Serber是在Windows系列网络OS的NT或2000上运行的Web服务器软件同OS捆绑在一起或者实地安装提供ASP环境的服务器有增加的倾向Apache主要是UNIX系列的OS(也有对应于WindowsNT/2000/98/Me)是以NCSA HTTPd的1.3版本为基础,进行了各种各样的功能扩展而发布了的Web服务器软件之一3 SOAP协议3.1 SOAP协议随着计算机技术的不断发展,现代企业面临的环境越来越复杂,其信息系统大多数为多平台、多系统的复杂系统。这

24、就要求今天的企业解决方案具有广泛的兼容能力,可以支持不同的系统平台、数据格式和多种连接方式,要求在Internet 环境下,实现系统是松散耦合的、跨平台的,与语言无关的,与特定接口无关的,而且要提供对Web 应用程序的可靠访问。随着异种计算环境的不断增加,各种系统间的互操作性就愈显得必要,要求系统能够无缝地进行通信和共享数据,从而在 Internet 环境下,消除巨大的信息孤岛,实现信息共享、进行数据交换,达到信息的一致性。Web services 希望实现不同的系统之间能够用软件-软件对话的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现基于WEB无缝集成的目标。今年四

25、月份的时候,W3C联盟召开了第一次 Web 服务专题研讨会,目的为探索 W3C 应向哪个方向发展才能实现新兴的 Web 服务架构的标准化,期间提出了一个Web 服务堆栈的构想,如下图,从图中可以看出,SOAP在WEB服务堆栈中作为用于 XML 消息传递的一种非常普遍的协议,发挥着十分重要的作用。图3-1 SOAP在WEB服务堆栈中的作用3.2 SOAP消息1第一个例子阐明了SOAP中一个简单的通信信息,包括了两个不是SOAP定义而是应用程序定义的元素:头块元素alertcontrol 和体块元素alert。头块元素包括两个参数:priority 和expires。体块元素包括的是实际传送的信息

26、。图3-2 SOAP中一个简单的通信信息2SOAP通信与底层的不同协议和不同的交换格式有关,下面的例子SOAP使用HTTP作为底层通信协议,从而可以很好的使用request/response机制来传送信息。 SOAP/HTTP请求包括一个GetLastTradePrice的块元素,该请求携带一个字符串参数和ticker符号,在SOAP应答中返回一个浮点数。XML名域用来区分SOAP标志符和应用程序特定的标志符。图3-3 使用HTTP作为底通信协议3. 例3 展示的是StockQuote SOAP服务信息,是对例2的请求作出的一条应答消息。图3-4 对于请求作出的一条应答消息3.3 SOAP=R

27、PC+HTTP+XMLSOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。RPC的描叙可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment )RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。SOAP 使用 HTT

28、P 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。为了更好的理解SOAP, HTTP, XML如何工作的,不妨先考虑一下COM/DCOM的运行机制,DCOM处理网络协议的低层次的细节问题,如PROXY/STUB间的通讯,生命周期的管理,对象的标识。在客户端与服务器端进行交互的时候,DCOM采用NDR

29、(Network Data Representation)作为数据表示,它是低层次的与平台无关的数据表现形式。DCOM是有效的,灵活的,但也是很复杂的。而SOAP的一个主要优点就在于它的简单性,SOAP使用HTTP作为网络通讯协议,接受和传送数据参数时采用XML作为数据格式,从而代替了DCOM中的NDR格式,SOAP和 DCOM执行过程是类似的,但是用XML取代 NDR作为编码表现形式,提供了更高层次上的抽象,与平台和环境无关。客户端发送请求时,不管客户端是什么平台的,首先把请求转换成XML格式,SOAP网关可自动执行这个转换。为了保证传送时参数,方法名,返回值的唯一性,SOAP协议使用了一个

30、私有标记表,从而服务端的SOAP网关可以正确的解析,这有点类似于COM/DCOM中的桩(STUB)。转化成XML格式后,SOAP终端名(远程调用方法名)及其他的一些协议标识信息被封装成HTTP请求,然后发送给服务器。如果应用程序要求,服务器返回一个HTTP应答信息给客户端。与通常对HTML页面的HTTP GET请求不同的是,此请求设置了一些HTTP HEADER,标识着一个SOAP服务激发,和HTTP包一起传送。例如:对于一个询问股票价格的应用程序,服务器端具有组件提供某股票当前的价格,组件是COM或CORBA在服务器上建立的。客户端发送一个SOAP请求给服务器询问股票价格。服务器依赖于服务器

31、上的SOAP网关,使用内嵌的HTML对象调用合适的方法, 然后把得到的价格通过SOAP应答传给客户端。3.4 XML和HTML的差异XML和HTML的不同可以归纳为3点: 1)XML扩展性比HTML强 XML(Extensible Markup Languages)是扩展标记语言的英语缩写,他可以创建个性化的标记语言,可以称之为元语言。XML的标记语言可以自定义,这样可以提供更多的数据操作,而不像HTML一样,只能局限于按一定的格式在终端显示出来。HTML的功能只有浏览器放入显示和打印,仅仅适合静态网页的要求。 2)XML的语法比HTML严格 由于XML的扩展性强,它需要稳定的基础规则来支持扩

32、展。它的严格规则为: 1、起始和结束的标签相匹配 2、嵌套标签不能相互嵌套 3、区分大小写 相对应XML的严格规则,HTML语言并没有规定标签的绝对位置,也不区分大小写,而这些全部由浏览器来完成识别和更正。 3)XML与HTML互补 XML可以获得应用之间的相应信息,提供终端的多项处理要求,也能被其他的解析器和工具所使用,在现阶段,XML可以转化成相应的HTML,来适应当前浏览器的需求。 XML 工具 XML如果有一个好的编辑器就能够减少很多麻烦3.5 SOAP 的前景W3C于2000年5月8日发表了Simple Object Access Protocol (SOAP) 1.1版本,具体规范发布在下列

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1