什么SOAP协议?

zxm0377 2008-01-18 08:34:14
加精
什么SOAP协议? 以前没怎么听说过.
...全文
13246 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangjiajian2008 2012-09-11
  • 打赏
  • 举报
回复
我也跟帖学习。楼主还在不。
RedPirateBM85 2010-04-30
  • 打赏
  • 举报
回复
跟贴学习
isslkefks7 2010-04-16
  • 打赏
  • 举报
回复
=======================
软件创业QQ qun群:103815692

jwvVY62FufVIx2FyyQsm4wUuJoM
vvhh33qq14 2010-04-14
  • 打赏
  • 举报
回复
版主贴主早上好!
版主贴主每天都有好心情!

WBX5goSKwmR75gx2tYf回帖是一种美德!V8PLzjxjCP4X8Frsu1p
==========================
介+绍:

http://spritebrowser.com

zdldyvRYMdDfDSj5xY9
1)可录制上网记录,截获Http信息。
2)利用截获的Http信息自动生成命令(Page,拖拽即可完成)
3)执行命令,模拟浏览器向Web服务器发生命令。
WBX5goSKwmR75gx2tYf

要看美女来这里:
http://byhat.com

=======================
软件创业QQ 群:103815692

b9AtvDCIJxMhJSV8kAP
vvhh33qq16 2010-04-14
  • 打赏
  • 举报
回复
版主贴主早上好!
版主贴主每天都有好心情!

bFoeuCjegU4HI5EVdES73I回帖是一种美德!BAM5T34dhAhAL83Y5SGjCA
==========================
介+绍:

http://spritebrowser.com

FrIedI8flxgKrq6P9vwoqH
1)可录制上网记录,截获Http信息。
2)利用截获的Http信息自动生成命令(Page,拖拽即可完成)
3)执行命令,模拟浏览器向Web服务器发生命令。

中文论坛:http://spritebrowser.com/LunTan
bFoeuCjegU4HI5EVdES73I

要看美女来这里:
http://byhat.com

=======================
软件创业QQ 群:103815692

KWPRMHy9BsXll4xUPFd3F6
zu887 2010-04-12
  • 打赏
  • 举报
回复
不错,顶!
guanmingle 2010-04-06
  • 打赏
  • 举报
回复
陈年老贴,楼主已死
daozigu 2010-04-05
  • 打赏
  • 举报
回复
学习!!!!
wjj0820 2010-03-29
  • 打赏
  • 举报
回复
呵呵,顶起啊,比较有帮助啊
与java共舞 2010-03-02
  • 打赏
  • 举报
回复
不知道 学习 学习 学习
xiaobei2010 2010-01-31
  • 打赏
  • 举报
回复
哦 还是没有搞清楚是怎么回事。
ghostxyz0 2010-01-12
  • 打赏
  • 举报
回复
學習了,這帖已經兩歲了
xiaoxm_001 2009-12-03
  • 打赏
  • 举报
回复
学习了,这个帖子有一年半的寿命了。。。
lavly 2009-07-27
  • 打赏
  • 举报
回复
就是为你完成webservice的东西

网上的资料很多很多吖
而且一些测试也很容易做好
专业搬砖填坑 2009-07-25
  • 打赏
  • 举报
回复
学习了,这个帖子已经有一年半的寿命了。。。
windwander 2009-06-06
  • 打赏
  • 举报
回复
简单点说,SOAP就是一种远端过程调用协议RPC,跟Corba/RMI/DCom一样,这些技术要解决的问题就是怎样像本地过程一样调度远端过程,解决这个问题的初衷是希望应用开发者能透明使用本地远端过程,还有,提供一套大家都遵循的规范,以便互联互通。对SOAP来说,一个重要区别是,Corba/RMI/DCom 定义的都是二进制消息传递格式,而SOAP是文本(XML)。优势就是XML有很强的表达能力,能描述复杂的结构,劣势是,太浪费带宽了。
liulyw_1978 2009-06-03
  • 打赏
  • 举报
回复
SOAP协议规范
1. 简介

SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序

语义,如编程模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简单的表

示应用程序语义的机制。这使SOAP能够被用于从消息传递到RPC的各种系统。

SOAP包括三个部分

SOAP封装(见第4节)结构定义了一个整体框架用来表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的


SOAP编码规则(见第5节)定义了用以交换应用程序定义的数据类型的实例的一系列机制。
SOAP RPC表示(见第7节)定义了一个用来表示远程过程调用和应答的协定。
虽然这三个部分都作为SOAP的一部分一起描述,但它们在功能上是相交的。特别的,封装和编码规则是在不同的名域中定义的,这种

模块性的定义方法增加了简单性在SOAP封装,SOAP编码规则和SOAPRPC协定之外,这个规范还定义了两个协议的绑定,描述了在有或

没有HTTP扩展框架[6]的情况下,SOAP消息如何包含在HTTP消息[5]中被传送。

1.1 设计目标
SOAP的主要设计目标是简单性和可扩展性,这意味着传统的消息系统和分布对象系统的某些性质不是SOAP规范的一部分。这些性质包

括:

分布式碎片收集
成批传送消息
对象引用(要求分布式碎片收集)
激活机制(要求对象引用)
1.2 符号约定
这篇文章中的关键字 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT","SHOULD", "SHOULD NOT", "RECOMMENDED",

"MAY", 和"OPTIONAL"的解释在RFC-2119 [2]中。 这篇文章中用到的名域前缀 "SOAP-ENV" 和"SOAP-ENC"分别

与"http://schemas.xmlsoap.org/soap/envelope/" 和"http://schemas.xmlsoap.org/soap/encoding/"关联。整篇文档中,名域前

缀“xsi”被假定为与URI"http://www.w3.org/1999/XMLSchema-instance“(在XMLSchema规范[11]定义)相连。类似的,名域前缀

”xsd“被假定为与URI"http://www.w3.org/1999/XMLSchema"(在[10]中定义)相连。名域前缀”tns“用来表示任意名域。所有其

它的名域前缀都只是例子。
名域URI的基本形式”some-URI“表示某些依赖于应用程序或上下文的URI[4]。这个规范用扩展BNF(在RFC-2616[5] 描述)描述某

些结构。

1.3 SOAP消息举例
在这个例子中,GetLastTradePrice SOAP 请求被发往StockQuote服务。这个请求携带一个字符串参数和ticker符号,在SOAP应答中

返回一个浮点数。XML名域用来区分SOAP标志符和应用程序特定的标志符。这个例子说明了在第6节中定义的HTTP绑定。如果SOAP中管

理XML负载的规则完全独立于HTTP是没有意义的,因为事实上该负载是由HTTP携带的。在Appendix A中有更多的例子。

例1 在HTTP请求中嵌入SOAP消息

POST /StockQuote HTTP/1.1
Host:
www.stockquoteserver.com
Content-Type: text/xml;
charset="utf-8"
Content-Length: nnnn
SOAPAction:
"Some-URI"
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

下面是一条应答消息,包括HTTP消息,SOAP消息是其具体内容 :

例2 在HTTP应答中嵌入SOAP消息

HTTP/1.1 200 OK
Content-Type: text/xml;
charset="utf-8"
Content-Length:
nnnn
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI">
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

2. SOAP消息交换模型
SOAP消息从发送方到接收方是单向传送,但正如上面显示的,SOAP消息经常以请求/应答的方式实现。SOAP实现可以通过开发特定网

络系统的特性来优化。例如,HTTP绑定(见第6节)使SOAP应答消息以HTTP应答的方式传输,并使用同一个连接返回请求。不管SOAP

被绑定到哪个协议,SOAP消息采用所谓的”消息路径“发送,这使在终节点之外的中间节点可以处理消息。一个接收SOAP消息的SOAP

应用程序必须按顺序执行以下的动作来处理消息:识别应用程序想要的SOAP消息的所有部分 (见4.2.2节)检验应用程序是否支持第

一步中识别的消息中所有必需部分并处理它。如果不支持,则丢弃消息(见4.4节)。在不影响处理结果的情况下,处理器可能忽略

第一步中识别出的可选部分。如果这个SOAP应用程序不是这个消息的最终目的地,则在转发消息之前删除第一步中识别出来的所有部

分。为了正确处理一条消息或者消息的一部分,SOAP处理器需要理解:所用的交换方式(单向,请求/应答,多路发送等等),这种

方式下接收者的任务,RPC机制(如果有的话)的使用(如第7节中所述),数据的表现方法或编码,还有其它必需的语义。尽管属性

(比如SOAP encodingstyle,见4.1.1节)可以用于描述一个消息的某些方面,但这个规范并不 强制所有的接收方也必须有同样的属

性并取同样的属性值。举个例子,某一特定的应用可能知道一个元素表示一条遵循第7节约定的RPC请求,但是另外一些应用可能认为

指向该元素的所有消息都用单向传输,而不是类似第7节的请求应答模式。
(译者注:交互双方的SOAP消息并不一定要遵循同样的格式设定,而只需要以一种双方可理解的格式交换信息就可以了)
CSharp_czr 2009-02-11
  • 打赏
  • 举报
回复
SOAP:Simple Object Access Protocol)
简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
SOAP 包括三个部分:
SOAP 封装:它定义了一个框架 , 该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。
SOAP 编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。
SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定。
SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求 / 应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。
把 SOAP 绑定到 HTTP 提供了同时利用 SOAP 的样式和分散的灵活性的特点以及 HTTP 的丰富的特征库的优点。在 HTTP 上传送 SOAP 并不是说 SOAP 会覆盖现有的 HTTP 语义,而是 HTTP 上的 SOAP 语义会自然的映射到 HTTP 语义。在使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上,而 RPC 应答映射到 HTTP 应答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定。
SOAP也可以绑定到TCP和UDP协议上。
协议结构
SOAP 消息格式:
SOAP 标头
<SOAP-ENV: Envelope Attributes>
<SOAP-ENV:Body Attributes >
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
目前主要在web服务中运用。
SOAPAction WEB编码中常见,协议开始起始意思,常见于编码启始句。
语法规则
[编辑本段]
这里是一些重要的语法规则:
SOAP 消息必须用 XML 来编码
SOAP 消息必须使用 SOAP Envelope 命名空间
SOAP 消息必须使用 SOAP Encoding 命名空间
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 处理指令
SOAP 消息的基本结构
[编辑本段]
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
...
</soap:Header>
<soap:Body>
...
...
<soap:Fault>
...
...
</soap:Fault>
</soap:Body>
</soap:Envelope>

这是我从百度上弄来的,我现在也想了解SOAP
piternb 2008-09-30
  • 打赏
  • 举报
回复
确实受益非浅
majiajun_no_2 2008-09-30
  • 打赏
  • 举报
回复
很受益!
加载更多回复(15)

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧