您的位置:首页 > 其它

概念——SOAP(简单对象访问协议)

2012-07-28 22:22 197 查看

本文内容

SOAP 概述
SOAP 传输方式
SOAP 语法规则
SOAP 消息实例
 

SOAP 概述

SOAP(Simple Object Access Protocol,简单对象访问协议)是一种标准化的通讯规范,主要用于 Web 服务(Web Service)。SOAP 是为了简化网页服务(Web Server)。从 XML 提取数据时,无需花时间去格式化页面。让不同的应用程序之间通过 HTTP 协议,以 XML 格式交换数据,这样,与编程语言、平台和硬件无关。

SOAP 由 IBM、Microsoft、UserLand 和 DevelopMentor 在 1998 年共同提出,并得到 IBM、Lotus、Compaq 等公司的支持,于 2000 年提交 W3C。目前 SOAP 1.1 版是业界标准,是第二代 XML 协定。第一代的主要代表为 XML-RPC 和 WDDX。

SOAP 的一个简单例子:假设,有一个房价的数据库,SOAP 消息参数中指定房价查询信息,Web 服务点根据该查询信息,返回一个 XML 格式信息,其中包含查询结果(如价格、位置、特点,或者其他信息)。由于 XML 数据是一种结构化文本标准,可以被第三方使用。

SOAP 传输方式

SOAP 使用因特网的应用层协议作为其传输协议。HTTP 或 SMTP 协议都可以用来传输 SOAP 消息,但由于 HTTP 在现在的因特网中工作得很好,特别是在网络防火墙下仍然正常工作,所以被广泛采纳。

SOAP 也可以在 HTTPS 上传输。

SOAP 语法规则

SOAP 消息必须使用 XML 编码
SOAP 消息必须使用 SOAP Envelope 命名空间
SOAP 消息必须使用 SOAP Encoding 命名空间
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 处理指令

SOAP 消息实例

请求
[code]     [code]<soapenv:Envelope


xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"


xmlns:xsd="http://www.w3.org/2001/XMLSchema"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">


<soapenv:Body>


<req:echo xmlns:req="http://localhost:8080/axis2/services/MyService/">


<req:category>classifieds</req:category>


</req:echo>


</soapenv:Body>


</soapenv:Envelope>

[/code]
[/code]

回应

[code]
[code]<soapenv:Envelope


xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"


xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">


<soapenv:Header>


<wsa:ReplyTo>


<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>


</wsa:ReplyTo>


<wsa:From>


<wsa:Address>http://localhost:8080/axis2/services/MyService</wsa:Address>


</wsa:From>


<wsa:MessageID>ECE5B3F187F29D28BC11433905662036</wsa:MessageID>


</soapenv:Header>


<soapenv:Body>


<req:echo xmlns:req="http://localhost:8080/axis2/services/MyService/">


<req:category>classifieds</req:category>


</req:echo>


</soapenv:Body>


</soapenv:Envelope>

[/code]
[/code]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: