龙空技术网

Web服务要素之一:SOAP

川石信息 166

前言:

今天咱们对“soap命名空间”大约比较关注,看官们都需要学习一些“soap命名空间”的相关内容。那么小编也在网摘上搜集了一些对于“soap命名空间””的相关知识,希望姐妹们能喜欢,各位老铁们一起来了解一下吧!

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封装的默认命名空间中:

以及针对SOAP编码和数据类型的默认命名空间:

2.SOAP消息组成

<?xml version="1.0"?><soap:Envelopexmlns:soap=";soap:encodingStyle=";><soap:Header>...</soap:Header><soap:Body>...<soap:Fault>...</soap:Fault>...</soap:Body></soap:Envelope>

3.SOAP消息例子

股票查询服务,根据股票名称查询股票价格,返回股票价格。

1)SOAP消息请求:

POST /StockQuote HTTP/1.1Host: example.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: ";<SOAP-ENV:Envelope xmlns:SOAP-ENV=";SOAP-ENV:encodingStyle=";><SOAP-ENV:Body><m:TradePriceRequest xmlns:m=";><tickerSymbol>MSFT</tickerSymbol ></m:TradePriceRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>

2)SOAP消息响应:

HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8"Content-Length: nnnn<SOAP-ENV:Envelope xmlns:SOAP-ENV=";SOAP-ENV:encodingStyle=";/><SOAP-ENV:Body><m:TradePriceResult xmlns:m="  "><price>74.5</price></m:TradePriceResult ></SOAP-ENV:Body></SOAP-ENV:Envelope>

标签: #soap命名空间