`
dzqlhh
  • 浏览: 61189 次
社区版块
存档分类
最新评论
阅读更多
                                  Soap  结 构 初 识
                
                                                                          hbzxf 阿好
                                                           http://www.cnblogs.com/hbzxf/

    自1994年开始,Internet得到了迅猛的发展,自然而然,为了适应网络的基础应用产生了很多的应用级别的协议,HTTP协议就是现阶段普遍使用的用于Web浏览器和Web服务器之间通信的应用级别主要协议之一。但是其最大的不足之处在于只具备相当简单的请求和发送等传输命令,比如:Get、Post、Put,作用也仅仅主要体现在了对数据的浏览功能等,为了满足应用程序之间的数据共享和数据的交换,Soap简单对象访问协议在1998年诞生了。
    Soap简单对象访问协议首要目的是要解决不同平台和不同系统之间的应用程序之间的通信,XML语言编程了Soap首选的大纲语言。
    Soap的结构,也可以理解为Soap消息主要包含三个主要的元素:

    Soap <Envelope>,Soap <Header>,Soap <Body>

    Soap <Envelope> 即所谓的消息根元素,也是消息的标题元素,并且这个元素在Soap消息中是必须存在的元素之一,主要的作用就是告诉接受方此消息的基本情况等。

    Soap  <Header> 对于 Header 元素来说在一个Soap消息中是不必要存在的,如果存在Header 元素的话,它必须是Envelope的第一个子元素,主要的作用就是传递一些辅助性的附加消息,比如身份验证,会话等。

    Soap <Body> Body 元素即所谓的Soap消息体了,此元素是每个Soap消息中必须有的元素之一,而一个body元素可以由多个子元素构成。
    在这里还要说一下body元素中的一个特殊元素<Faule>元素,此元素可以设置当发送消息产生错误时使用这个元素来报告消息的错误信息。

下面的例子摘自Internet-draft规范说明中:

POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml
Content-Length: nnnn
SOAPMethodName: Some-Namespace-URI#GetLastTradePrice

<SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1">
    <SOAP:Body>
        <m:GetLastTradePrice
            xmlns:m="Some-Namespace-URI">
                <symbol>DIS</symbol>
        </m:GetLastTradePrice>
    </SOAP:Body>
</SOAP:Envelope>

由于Soap协议是建立在Http协议之上的,所以对于应用于http协议之上的对象,完全不必考虑其消息的传递性,诸如防火墙、代理服务器之类。如果你对Soap协议比较感兴趣你可以查找相关资料来了解其优越性。

分享到:
评论

相关推荐

    soap1.1和soap1.2区别

    SOAP 1.1 和 SOAP 1.2 区别详解 SOAP(Simple Object Access Protocol)是一种基于 XML 的轻量级协议,用于在网络上进行数据交换。SOAP 1.1 和 SOAP 1.2 是两个不同的版本,它们之间存在一些关键的区别。 首先,从...

    soap-build生成Soap接口请求报文

    在IT行业中,SOAP(Simple Object Access Protocol)是一种用于交换结构化信息的标准协议,常用于Web服务。它基于XML,提供了一种在不同应用程序之间交换数据的统一方式。本篇文章将详细探讨如何使用“soap-build”...

    Web Service SOAP Client set SOAP Header

    在Web服务领域,SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于交换结构化和类型化的信息。当涉及到Web Service客户端与服务器之间的交互时,有时需要在SOAP消息中添加额外的信息,例如身份验证或...

    拼接soap,判断soap是否连接成功,返回接口的信息,解析soap报文,解析后的soap转成实体

    在IT行业中,尤其是在Web服务开发领域,SOAP(Simple Object Access Protocol)是一种常见的用于交换结构化信息的协议。它基于XML,常用于实现分布式系统之间的通信。本教程将围绕标题和描述中的关键知识点展开,...

    SoapToolkit30 安装包

    SOAP(Simple Object Access Protocol)是一种轻量级的、基于XML的协议,用于在Web上交换结构化的和类型化的信息。SOAP允许应用程序通过HTTP等传输协议进行通信,这使得它成为跨平台、跨语言的Web服务交互标准。SOAP...

    SOAP资料,介绍SOAP协议

    **SOAP(Simple Object Access Protocol)协议**是一种基于XML(Extensible Markup Language)的协议,用于在Web服务中传递结构化和类型化的信息。SOAP允许应用程序通过HTTP、SMTP等传输协议进行通信,使得不同系统...

    Laravel开发-laravel-soap Soap 协议客户端

    而`laravel-soap`是Laravel的一个扩展包,专门用于处理SOAP(Simple Object Access Protocol)协议,这是一种基于XML的网络通信协议,常用于不同系统间的远程调用和服务交互。 **SOAP协议简介** SOAP是一种轻量级的...

    thinkphp下使用soap

    thinkphp内使用soap 把下载的soap解压放到ThinkPHP\Extend\Vendor目录下 名字是soap 调用方法: function test($url,$method,$data){ vendor('soap.class#nusoap'); //从soap目录导class.nusoap.php类文件 $...

    soap请求的工具

    SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。SOAP请求是Web服务交互的核心,它允许客户端发送数据到服务端,并接收响应。本工具专为测试SOAP请求及查看其...

    java调用soap接口案例

    Java调用SOAP(Simple Object Access Protocol)接口是Web服务交互中的常见操作,SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。本案例主要关注如何使用Java来实现SOAP请求并获取响应,具体我们...

    apache.soap...jar包,soap 调用webservice核心包

    Apache SOAP是Java平台上的一个开源库,用于构建和消费基于SOAP(Simple Object Access Protocol)的Web服务。SOAP是一种XML格式的协议,它允许应用程序通过HTTP或其他传输协议进行远程调用,实现了分布式计算的能力...

    SOAP示例,轻松学SOAP

    SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。它允许分布式计算环境中不同系统之间的应用程序通过HTTP、SMTP等传输协议进行通信。SOAP消息通常包含三部分...

    MFC下实现SOAP服务端和SOAP客户端

    在Microsoft Foundation Classes (MFC)框架下实现SOAP(Simple Object Access Protocol)服务端和客户端是一项技术密集型的任务,涉及到网络通信、XML解析以及MFC库的深入应用。SOAP是一种基于XML的协议,用于在...

    SOAP协议规范——SOAP详解

    **SOAP协议规范详解** SOAP(Simple Object Access Protocol),即简单对象访问协议,是一种基于XML(Extensible Markup Language)的协议,用于在Web服务中传递结构化的和格式化的信息。SOAP允许应用程序通过HTTP...

    Extract Soap Body From Soap Message

    在IT行业中,SOAP(Simple Object Access Protocol)是一种用于交换结构化和类型化的信息的协议,主要应用于Web服务。SOAP消息通常包含三个主要部分:Envelope、Header和Body。本篇文章将详细探讨如何从SOAP消息中...

    QtSoap源码 仅供学习参考

    QtSoap是基于Qt库的一个开源项目,用于在C++应用程序中实现SOAP(Simple Object Access Protocol)通信。SOAP是一种XML(eXtensible Markup Language)为基础的协议,它允许分布式系统中的对象通过网络交换数据和...

    soap 所需全部jar包

    SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。在Java环境中,为了实现SOAP通信,通常需要一些特定的库支持,这些库通常以JAR(Java Archive)文件的形式...

    SOAP协议样列

    ### SOAP协议详解 #### 一、SOAP协议简介 SOAP(Simple Object Access Protocol)是一种轻量级的协议,用于实现分布式环境中不同系统之间的交互。它的主要特点是使用XML作为数据编码格式,这种选择使得SOAP具备跨...

    Qt下实现WebServer的调用之qtsoap

    `Qtsoap`就是一种用于在Qt应用程序中实现SOAP(简单对象访问协议)通信的工具,它使得Qt应用能够轻松地调用WebServer上的服务。本文将深入探讨如何使用qtsoap在Qt下实现WebServer的调用。 首先,`qtsoap`是基于Qt...

Global site tag (gtag.js) - Google Analytics