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

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园_首页
WordPress大学
WordPress大学
博客园 - 聂微东
P
Privacy International News Feed
Forbes - Security
Forbes - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes
月光博客
月光博客
NISL@THU
NISL@THU
美团技术团队
T
Tailwind CSS Blog
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Hacker News
The Hacker News
B
Blog
P
Palo Alto Networks Blog
L
Lohrmann on Cybersecurity
有赞技术团队
有赞技术团队
The Register - Security
The Register - Security
S
Securelist
A
Arctic Wolf
MyScale Blog
MyScale Blog
H
Help Net Security
N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Security Latest
Security Latest
T
Tor Project blog
V
Vulnerabilities – Threatpost
V
V2EX
AI
AI
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
Simon Willison's Weblog
Simon Willison's Weblog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Troy Hunt's Blog
Schneier on Security
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Heimdal Security Blog
Google Online Security Blog
Google Online Security Blog
Know Your Adversary
Know Your Adversary

博客园 - 张锋

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