欢迎大家来到IT世界,在知识的湖畔探索吧!

欢迎大家来到IT世界,在知识的湖畔探索吧!
Web服务简介
▲ 什么是Web服务
Web服务即Web Service。
Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。
根据W3C的定义,Web服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们透过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。
Web服务组成如下图所示:
▲ Web服务三要素
● SOAP
一个基于XML的可扩展消息信封格式,需同时绑定一个传输应用协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP等其他协议。
SOAP协议有SOAP1.1与SOAP1.2两种主要的版本,SOAP可以运行在任何其他应用协议之上。
● WSDL
一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。
可以看成是Web服务的使用说明书。
● UDDI
一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB服务。
UDDI旨在将全球的WEB服务资源进行共享,促进全球经济合作。但是使用WEB服务并不是必须要使用UDDI,因为很多时候使用者已经知道了WEB服务地址就可以进行调用。
这些标准由这些组织制订:W3C负责XML、SOAP及WSDL;OASIS负责UDDI。
▲ SOAP
1.SOAP构建模块
一条SOAP消息就是一个普通的XML文档,包含下列元素:
● 必需的Envelope元素,可把此XML文档标识为一条SOAP消息
可选的Header元素,包含头部信息
● 必需的Body元素,包含所有的调用和响应信息
可选的Fault元素,提供有关在处理此消息所发生错误的信息
所有以上的元素均被声明于针对SOAP封装的默认命名空间中:
http://www.w3.org/2001/12/soap-envelope
以及针对SOAP编码和数据类型的默认命名空间:
http://www.w3.org/2001/12/soap-encoding
2.SOAP消息组成
<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Header> ... </soap:Header> <soap:Body> ... <soap:Fault> ... </soap:Fault> ... </soap:Body> </soap:Envelope>
欢迎大家来到IT世界,在知识的湖畔探索吧!
3.SOAP消息例子
股票查询服务,根据股票名称查询股票价格,返回股票价格。
1)SOAP消息请求:
欢迎大家来到IT世界,在知识的湖畔探索吧!POST /StockQuote HTTP/1.1 Host: example.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "http://example.com/GetLastTradePrice" <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:TradePriceRequest xmlns:m="http://example.com/stockquote.xsd"> <tickerSymbol>MSFT</tickerSymbol > </m:TradePriceRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
2)SOAP消息响应:
HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Body> <m:TradePriceResult xmlns:m=" http://example.com/stockquote.xsd "> <price>74.5</price> </m:TradePriceResult > </SOAP-ENV:Body> </SOAP-ENV:Envelope>
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/110890.html