网站首页 工具软件 操作系统 办公软件 网页制作 PHP教程 script脚本专栏 photoshop教程 其他精品教程
我发布的文章 - 教程搜索 - 交流论坛 - 帮助中心 - 网站首页 网络工具 - 常用工具 - 媒体工具 - 系统工具 - 实用工具 NT/2003 - Win Xp - Win2000 - DOS/Win9x - IE/注册表 - Linux - 苹 果 Office - Word - Excel - PowerPoint - 输入法 - 邮件处理 Flash - Dreamweaver - Fireworks - FrontPage - HTMLCSS 基础文章 - PHP函数 - PHP技巧 - 数据库相关 - 高级应用 - PHP安装 - 转载精华 - 常见问题 综 合 类 - 状 态 栏 - 游 戏 类 - 页面背景 - 页面特效 - 页面导航 - 文本操作 - 文本特效 - 图形特效 - 鼠标特效 - 时间日期 - 密 码 类 文字特效 - 按钮与图标 - 色彩运用 - 滤镜魔法 - 综合实例 XML教程 - DELPHI基础教程 - VB教程
首页 -> 其他精品教程 -> XML教程

TOP

SOAP ABC
文章内容
相关信息
用户评论
文章内容
     摘要:SOAP 是一个基于XML的通信协议,在该协议下,软件组件和应用程序能够通过标准的HTTP协议通信。
  内容:
  
  作者:何杭军
  什么是SOAP?
  
  SOAP 是一个基于XML的通信协议,在该协议下,软件组件和应用程序能够通过标准的HTTP协议通信。
  
  谁起草了 SOAP?
  SOAP 由UserLand, Ariba, Commerce One, Compaq, Developmentor, HP, IBM, IONA, Lotus, Microsoft, 和 SAP共同起草.
  为什么SOAP?
  在internet环境下应用开发的一个重要方面是:应用之间应该能够相互通信。传统的方法是在分布式对象比如:DCOM CORBA之间进行相互的远程过程调用,但在这种场合下HTTP协议毫无用武之地,因此在internet环境下的远程过程调用不是一件容易的事情,在internet上使用RPC还存在安全的问题,防火墙和代理服务器还很有可能阻塞这种类型的数据传输。
  使用HTTP是一种很好的主意,因为HTTP协议得到了所有的浏览器和服务器的支持,SOAP的宗旨就在于发挥HTTP和XML优点,从而完成在应用之间的交互。
  
  SOAP 1.1 和 W3C
  起草SOAP的各个大公司在2000年5月份向W3C提交SOAP,目前SOAP是W3C的note。
  
  SOAP方方面面:
  SOAP 是一个轻量级的通讯协议(lightweight communication protocol )
  SOAP 用于应用和应用之间的通讯
  使用SOAP的应用通过HTTP通讯
  SOAP 独立于任何组件技术
  SOAP 独立于编程语言
  SOAP 基于XML
  SOAP 简单并且具有良好的扩展性
  SOAP 已向W3C提交
  SOAP 有望成为W3C的标准
  
  微软和 SOAP
  SOAP是微软的WINDOWS DNA 2000体系结构中的关键技术。
  
  SOAP 组成
  一个 SOAP消息是一个普通的XML文档,该文档包含如下的元素:
  SOAP envelope,定义消息的内容
  SOAP header (可选), 包含头信息
  SOAP body,包含所有的调用和会应信息
  
  SOAP 的一个例子
  <SOAP-ENV:Envelope>
  <SOAP-ENV:Body>
  <GetPrice>
  <Item>Apples</Item>
  </GetPrice>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
  
  
  
  上面的例子是一个简单的XML文档,要求得到苹果的价格信息。
  
  SOAP 名域
  SOAP envelope元素的缺省名域:
  http://schemas.xmlsoap.org/soap/envelope/
  SOAP encoding and data types的缺省名域:
  http://schemas.xmlsoap.org/soap/encoding/
  
  部分重要的语法规则
  SOAP消息必须用XML编码
  SOAP消息必须有一个 SOAP Envelope
  SOAP消息可以又一个SOAP header
  SOAP消息必须有一个SOAP Body
  SOAP消息必须使用SOAP Envelope 名域
  SOAP消息必须使用 SOAP Encoding 名域
  SOAP消息 不能包含DTD引用
  SOAP消息不能有XML处理指令
  
  以下是一个SOAP的例子,该SOAP消息被封装在一个HTTP请求中,GetStockPrice请求被发送到server。该请求具有一个 StockName参数,返回一个相应的StockPrice。请注意这里的自定义名域,该名域规定了特殊的元素所对应的服务,只有这样通信的双方才能理解对方的要求。
  
  
  <SOAP-ENV:Envelope>
  <SOAP-ENV:Body>
  <xmlns:m="http://www.stock.org/stock" />
  <m:GetStockPrice>
  <StockName>IBM</StockName>
  </m:GetStockPrice>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
  
  封装在HTTP中的SOAP应答
  
  <SOAP-ENV:Envelope>
  <SOAP-ENV:Body>
  <xmlns:m="http://www.stock.org/stock" />
  <m:GetStockPriceResponse>
  <Price>34.5</Price>
  </m:GetStockPriceResponse>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
  
  
  
  
  SOAP的出错信息
  SOAP的出错信息必须包含在Fault元素当中,而Fault元素如果出现,只能在body元素中出现,并只出现一次。
  它的子元素如下表:
  
  
  Sub Element Description
  <faultcode> A code identifying the error
  <faultstring> The error as a string
  <faultactor> Who caused the error
  <detail> Specific error information
  
  
  
  
  
  

相关信息
SOAP ABC
发布者:mmcbbs
浏览量:458
发布日期:2005-04-10 03:00:18
所属专题:
用户评论
称  呼:
内  容:

广告位

广告招租,欢迎抢订

热门信息

·XML入门 (上)
·XML简介
·XML入门 (下)
·XML--INTERNET的“世界语”
·XSL概述
·跟我学XSL(一)
·跟我学XSL(二)
·跟我学XSL(三)

推荐信息