Loading

SOAP漫谈(基本概念篇)

1、什么是SOAP

简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 Web 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

SOAP 包括三个部分:
SOAP 封装:它定义了一个框架 , 该框架描述了消息中的内容是什么
SOAP 编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例
SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定。

2、什么是Web Service

Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。可以通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
宏观上来说webservice,其实它就是个对外的接口,里面有函数可供外部客户调用(注意:里面同样有客户不可调用的函数).假若我们是服务端,我们写好了个webservice,然后把它给了客户(同时我们给了他们调用规则),客户就可以在从服务端获取信息时处于一个相对透明的状态.即是客户不了解(也不需要)其过程,他们只获取数据。

3、SOAP与Web Service的关系

SOAP是webservice的一种实现手段,还有其他协议可以实现webservice的接口。

4、什么是WSDL

WSDL 指网络服务描述语言 (Web Services Description Language)。WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。

这是某个 WSDL 文档的简化的片段:
<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
        <input message="getTermRequest"/>
        <output message="getTermResponse"/>
  </operation>
</portType>

在这个例子中,<portType> 元素把 "glossaryTerms" 定义为某个端口的名称,把 "getTerm" 定义为某个操作的名称。
操作 "getTerm" 拥有一个名为 "getTermRequest" 的输入消息,以及一个名为 "getTermResponse" 的输出消息。
<message> 元素可定义每个消息的部件,以及相关联的数据类型。
对比传统的编程,glossaryTerms 是一个函数库,而 "getTerm" 是带有输入参数 "getTermRequest" 和返回参数 getTermResponse 的一个函数。

5、SOAP、WebService、WSDL的关系

SOAP的另一种理解:HTTP + XML = SOAP

Web services 平台的元素包括:
SOAP (简易对象访问协议)
UDDI (通用描述、发现及整合)
WSDL (Web services 描述语言)

posted @ 2013-09-09 10:38  dsy  阅读(430)  评论(0编辑  收藏  举报