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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 张锋

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