惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Spread Privacy
Spread Privacy
H
Hacker News: Front Page
PCI Perspectives
PCI Perspectives
Webroot Blog
Webroot Blog
罗磊的独立博客
H
Heimdal Security Blog
TaoSecurity Blog
TaoSecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
美团技术团队
Help Net Security
Help Net Security
The Hacker News
The Hacker News
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
The Register - Security
The Register - Security
IT之家
IT之家
WordPress大学
WordPress大学
Jina AI
Jina AI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
H
Help Net Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
NISL@THU
NISL@THU
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Scott Helme
Scott Helme
V
Vulnerabilities – Threatpost
B
Blog
T
Tenable Blog
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
S
Security Affairs
小众软件
小众软件
Hacker News: Ask HN
Hacker News: Ask HN
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
W
WeLiveSecurity
A
Arctic Wolf
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence

博客园 - 张锋

[GDI+]如何制作出高质量的缩略图 WebCom.Net [GDI+]如何将一个彩色图像转换成黑白图像 [GDI+] 创建Images的两种方式 操作Oracle数据库实现上传图片到Blob类型的字段 如何防止同一帐户重复登录系统 世界杀毒软件排名 Scroll Page Class 解决定位问题 struct和class的区别 - 张锋 - 博客园 B/S系统中如何定位到对象 学习游戏开发经典网站 Url2Ip - 张锋 - 博客园 BLOG程序 IE功能汇总 WEB打印的相关技术分析 Blog RSS Reader 资料整理 - 张锋 Oracle常用的一些功能集锦 XML Server与XML-enabled Web Server介绍 对于想这种频繁的视图如何看待
Soap 结构初识
张锋 · 2005-01-26 · via 博客园 - 张锋
                                                      

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协议比较感兴趣你可以查找相关资料来了解其优越性。