SAOP

简单对象访问协议 (SOAP,全称为Simple Object Access Protocol)是一种标准化的通讯规范,主要用于Web服务(web service)中。SOAP的出现是为了简化网页服务器(Web Server)在从XML数据库中提取资料时,不用花时间去格式化页面,並能够让不同应用程式之间透过HTTP通讯协议,以XML格式互相交換彼此的资料,使其与程式語言、平台和硬件无关。此标准由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,並得到IBM,莲花(Lotus),康柏(Compaq)等公司的支持,于2000年提交給全球資訊网络盟(World Wide Web Consortium;W3C),目前 SOAP 1.1 版是业界共同的标准,属于第二代的XML協定(第一代具主要代表性的技術為XML-RPC以及WDDX)。 
用一个简单的例子来说明 SOAP 使用过程,一个 SOAP 消息可以发送到一个具有 Web Service 功能的 Web 站点,例如,一个含有房价信息的数据库,消息的参数中标明这是一个查询消息,此站点将返回一个 XML 格式的信息,其中包含了查询结果(价格,位置,特点,或者其他信息)。由于数据是用一种标准化的可分析的结构来传递的,所以可以直接被第三方站点所利用。 

SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架; 
SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; 
SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定; SOAP绑定(binding),使用底层协议交换信息。 
SOAP 消息实例 



<soapenv:Envelope 
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
  <soapenv:Body> 
    <req:echo xmlns:req="http://localhost:8080/axis2/services/MyService/"> 
      <req:category>classifieds</req:category> 
    </req:echo> 
  </soapenv:Body> 
</soapenv:Envelope> 

[编辑] Response 
<soapenv:Envelope 
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> 
  <soapenv:Header> 
    <wsa:ReplyTo> 
      <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address> 
    </wsa:ReplyTo> 
    <wsa:From> 
      <wsa:Address>http://localhost:8080/axis2/services/MyService</wsa:Address> 
    </wsa:From> 
    <wsa:MessageID>ECE5B3F187F29D28BC11433905662036</wsa:MessageID> 
  </soapenv:Header> 
  <soapenv:Body> 
    <req:echo xmlns:req="http://localhost:8080/axis2/services/MyService/"> 
      <req:category>classifieds</req:category> 
    </req:echo> 
  </soapenv:Body> 
</soapenv:Envelope>

你可能感兴趣的:(AOP)