Simple Object Access Protocol,简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
SOAP、
WSDL(
W
eb
S
ervices
D
escription
L
anguage)、
UDDI(
U
niversal
D
escription
D
iscovery and
I
ntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。SOAP 可以和现存的许多
因特网协议和格式结合使用,包括
超文本
传输协议(HTTP),
简单邮件传输协议(SMTP),
多用途网际邮件扩充协议(MIME)。它还支持从
消息系统到
远程过程调用(RPC)等大量的
应用程序。SOAP使用基于XML的
数据结构和
超文本
传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的
分布式对象。
SOAP采用了已经广泛使用的两个协议:HTTP 和
XML
(
标准通用标记语言
下的一个子集)。HTTP用于实现 SOAP 的RPC 风格的传输, 而XML 是它的编码模式。采用几行代码和一个XML 解析器, HTTP 服务器( MS 的 IIS 或 Apache) 立刻成为SOAP 的 ORBS。SOAP 通讯协议使用 HTTP 来发送XML 格式的信息。HTTP与RPC 的协议很相似,它简单、 配置广泛,并且对防火墙比其它协议更容易发挥作用。HTTP 请求一般由 Web 服务器软件(如 IIS 和Apache)来处理, 但越来越多的应用服务器产品正在支持HTTP。XML 作为一个更好的
网络数据
表达方式( NDR)。SOAP 把 XML 的使用代码化为请求和响应参数编码模式, 并用HTTP 作传输。具体地讲, 一个SOAP 方法可以简单地看作遵循SOAP编码规则的
HTTP请求
和响应, 一个 SOAP
终端
则可以看作一个基于HTTP 的URL, 它用来识别方法调用的目标。像CORBA/ IIOP一样, SOAP不需要具体的对象绑定到一个给定的
终端
, 而是由具体实现程序来决定怎样把对象终端标识符映像到服务器端的对象。