互联网协议套组
应用层
  • BGP
  • DHCP
  • DNS
  • FTP
  • HTTP
  • IMAP
  • LDAP
  • MGCP英语Media Gateway Control Protocol
  • NNTP
  • NTP
  • POP
  • ONC/RPC
  • RTP
  • RTSP
  • RIP
  • SIP
  • SMTP
  • SNMP
  • SSH
  • Telnet
  • XMPP
  • 更多...
传输层
  • TCP
  • UDP
  • TLS/SSL
  • DCCP
  • SCTP
  • RSVP
  • 更多...
网络层
  • IP
    • IPv4
    • IPv6
  • ICMP
  • ICMPv6
  • ECN
  • IGMP
  • OSPF
  • IPsec
  • 更多...
连结层英语Link layer
  • ARP
  • NDP
  • Tunnels
    • L2TP
  • PPP
  • MAC
    • Ethernet
    • DSL
    • ISDN
    • FDDI
  • 更多...

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绑定到HTTP提供了同时利用SOAP的样式和分散的灵活性的特点以及HTTP的丰富的特征库的优点。在HTTP上传送SOAP并不是说SOAP会覆盖现有的HTTP语义,而是HTTP上的SOAP语义会自然的映射到HTTP语义。在使用HTTP作为协议绑定的场合中,RPC请求映射到HTTP请求上,而RPC应答映射到HTTP应答。然而,在RPC上使用SOAP并不仅限于HTTP协议绑定。

历史

SOAP曾经代表“Simple Object Access Protocol”,但是这种缩写已经在标准的1.2版后被废止了。1.2版在2003年6月24日成为W3C的推荐版本。这种缩写容易与SOA——Service-oriented architecture产生歧义,虽然它们之间存在非常大的差异。

SOAP由Dave Winer, Don Box,Bob Atkinson, Mohsen Al-Ghosein于1998年设计,当时只作为一种对象访问协议。现在,SOAP规范由万维网联盟的XML工作组维护。

传输方式

SOAP使用因特网应用层协议作为其传输协议。SMTP以及HTTP协议都可以用来传输SOAP消息,但是由于HTTP在如今的因特网结构中工作得很好,特别是在网络防火墙下仍然正常工作,所以被广泛采纳。SOAP亦可以在HTTPS上传输。

SOAP的消息格式采用XML。

语法规则

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/wxyc/login.do">      <req:category>classifieds</req:category>    </req:echo>  </soapenv:Body></soapenv:Envelope>

回应

<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>
www.zuoweixin.com
问题反馈联系QQ:暂无联系方式,也可发qq邮箱。