简单对象访问协议 (SOAP,全称为Simple Object Access Protocol)是一种标准化的通讯规范,主要用于Web服务(web service)中。SOAP的出现是为了简化网页服务器(Web Server)在从XML数据库中提取资料时,不用花时间去格式化页面,並能够让不同应用程式之间透过HTTP通讯协议,以XML格式互相交換彼此的资料,使其与程式語言、平台和硬件无关。此标准由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,並得到IBM,莲花(Lotus),康柏(Compaq)等公司的支持,于2000年提交給全球資訊网络盟(World Wide Web Consortium;W3C),目前 SOAP 1.1 版是业界共同的标准,属于第二代的XML協定(第一代具主要代表性的技術為XML-RPC以及WDDX)。
用一个简单的例子来说明 SOAP 使用过程,一个 SOAP 消息可以发送到一个具有 Web Service 功能的 Web 站点,例如,一个含有房价信息的数据库,消息的参数中标明这是一个查询消息,此站点将返回一个 XML 格式的信息,其中包含了查询结果(价格,位置,特点,或者其他信息)。由于数据是用一种标准化的可分析的结构来传递的,所以可以直接被第三方站点所利用。
SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;
SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例;
SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定; SOAP绑定(binding),使用底层协议交换信息。
SOAP 消息实例
<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>
[编辑] Response
<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>
分享到:
相关推荐
格式化 xml json 工具 webservice saop
SoapUI是一款广泛使用的接口测试工具,特别适合于Web Service接口的调试和测试。它提供了全面的功能,包括创建、编辑和执行SOAP(Simple Object Access Protocol)和REST(Representational State Transfer)请求,...
标签中的"Ksoap2 saop"可能是对关键词的误拼,正确的应该是"Ksoap2 SOAP"。这意味着这个库是关于Ksoap2库和SOAP协议的。 至于压缩包子文件的文件名称列表中提到的"ksoap2-assembly-3.4.0-jar.jar",这是`ksoap2`的...
java实现的soap
在IT行业中,调用Web服务并解析XML是常见的任务,特别是在Java开发中。Web服务,尤其是基于SOAP(Simple Object Access Protocol)的,提供了一种标准的跨平台、跨语言的数据交换方式。本教程将深入讲解如何在Java...
SOAP UI是一款广泛使用的开源测试工具,专为测试Web服务而设计。它支持SOAP(Simple Object Access Protocol)和REST(Representational State Transfer)两种主要的Web服务协议,使得开发者和测试人员能够有效地...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方式,而SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于交换结构化的、机器可读的数据。SOAP WebService调试工具是开发人员用来测试、验证和...
Java与SOAP(简单对象访问协议)是Web服务技术中的重要组成部分,它们在分布式系统和企业级应用程序中扮演着核心角色。下面将详细讲解这两个概念及其相互关系。 **Java** Java是一种广泛使用的面向对象的编程语言...
在IT行业中,Web Service是一种基于网络的、松散耦合的软件组件,它提供了一种标准的方法来使得不同系统之间可以互相通信。本教程将详细讲解客户端如何通过SOAP(Simple Object Access Protocol)请求调用WebService...
通过SAOP(Security Association Operation Protocol)等技术,确保了网络的安全性和防御的实时性。 此外,网络架构还考虑了未来扩展的需要,如在一期建设中,新老校区间采用万兆连接,核心交换机之间的带宽可达8G...
API剩余课程 解释节点安装最后一个LTS节点 谷歌node.js 解释节点管理器 检查节点版本 启动一个hello world节点脚本 运行斐波那契脚本 npm说明 版本包 依赖管理 命令 开始发展 cmd => npm安装 ...
文中提到Android访问网络数据有多种方式,主要包括两种方法:一种是基于Http协议的数据获取方法,另一种是基于SAOP协议的数据获取方法。这两者各有优缺点,前者简单易用,后者虽然操作复杂些,但适合处理复杂的数据...
例如,Scott Seely的著作SAOP XML Web Services为Web Services技术的普及奠定了基础。随后的技术如FETTL、W3C等都对Web Services技术的发展起到了重要的推动作用。 5. 研究中的具体应用实例 文章中提到的期刊《重庆...
soap ui webservice测试其一
【标题】基于CXF 2.7.5开发的WebService:SOAP与RESTful详解 【描述】本项目是使用Apache CXF 2.7.5版本实现的WebService服务,包括了SOAP和RESTful两种常见的Web服务接口。Apache CXF是一个开源的Java框架,它为...
WebService客户端调用WebService服务示例代码,java代码,纯手工,包括直接httpClient直接发送Saop报文调用和利用wsimport -keep 生成客户端代码后调用两种方式的示例。因涉及商务账户密码隐私,因此代码中的有些账号...
在Java中使用WebService进行网络通信的实例源码,适用于android开发,在Android中,第三方公司提供了基于... 再此对不知道什么是webService朋友解释一下,webService是一种基于SAOP协议的远程调用标准,通过webservi
在数据库管理中,ORA-02298 是一个常见的 Oracle 错误代码,它指出在尝试插入或更新数据时,由于违反了外键约束,系统无法验证引用完整性。这个错误通常发生在尝试插入的数据在关联的主键表中不存在,即外键列的值在...