ASP.NET创建XML Web服务全接触(2)
< Web服务必须不关心所选择的操作系统、对象模型和程序语言。而且,XML>
XML Web服务使用一个提供下列功能的基础结构:一个发现机制,用于定位XML Web服务;一个服务描述,用于定义如何使用这些服务;以及用来通信的标准连接格式。下列插图显示了这个基础结构的一个实例。
|
基础结构块
|
职能
|
| XML Web服务目录 | XML Web服务目录提供一个中央地址,用于定位其他组织提供的XML Web服务。象UDDI登记这样的XML Web服务目录实现这个职能。XML Web服务的客户端可以引用XML Web服务目录,也可以不引用XML Web服务目录。 |
| XML Web 服务发现 | XML Web服务发现是使用Web服务描述语言(WSDL)定位或发现一个或多个描述特别的XML Web服务的相关文档。DISCO规格定义了定位服务描述的规则。如果XML Web服务客户了解服务描述的位置,他们可以绕过发现步骤。 |
| XML Web服务描述 | 为了了解如何与一个特定的XML Web服务交互作用,需要提供一个描述来定义XML Web服务支持的交互操作。XML Web服务客户端在可以使用一个XML Web服务之间必须了解如何与它交互。 |
| XML Web服务连接格式 | 为了能够进行通用通信,XML Web服务使用开放连接格式来进行通信,这些是任何支持最普通的Web标准的系统都能够理解的协议。SOAP是用于进行XML Web服务通信的关键协议。 |
XML Web服务目录
和使用因特网上任何其他的资源一样,XML Web服务目录如果没有某些查找方法的话,它是不可能够找到一个特定的XML Web服务的。XML Web服务目录提供了中央地址,可以让XML Web服务供应者在其上发布他们提供的XML Web服务的信息。这样的目录甚至可以是XML Web服务本身,可以编程访问并且提供搜索结果来响应XML Web服务客户端的查询。使用一个XML Web服务目录来定位一个提供XML Web服务作为特定目的的组织,或者判断一个特定组织提供了什么XML Web服务,这可能是非常必要的。
UDDI(统一描述发现和集成规范)规格定义了一个标准方法来发布和发现XML Web服务的信息。与UDDI关联的XML模式定义了四个信息类型,能让开发者使用一个发布的XML Web服务。这些是:商业信息、服务信息、绑定信息和其他用于服务的规范的信息。
作为UDDI工程的核心组件,UDDI Business Registry(业务登记)允许业务编程定位其他组织发布的XML Web服务的信息。开发者可以使用UDDI Business Registry来定位发现文件和服务描述。更多信息,请看UDDI Web站点(http://uddi.microsoft.com)。
XML Web服务发现
XML Web服务发现是使用Web服务描述语言WSDL定位或发现一个或多个描述特定的XML Web服务的文件的操作。它让XML Web服务客户端得知一个XML Web服务是否存在并且到哪里找到这个XML Web服务的描述文件。
一个发布的.disco文件,是包含连接到其他描述XML Web服务的资源的XML文件,能够编程发现一个XML Web服务。下面的代码给出了一个发现文件的结构的例子:
| <?xml version="1.0" encoding="utf-8" ?> <discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/"> <contractRef ref="http://www.contoso.com/Counter.asmx?wsdl" docRef="http://www.contoso.com/Counter.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" /> <soap address="http://www.contoso.com/Counter.asmx" xmlns:q1="http://tempuri.org/" binding="q1:CounterSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" /> </discovery> |
注意:发现文档是一个元素容器,一般包含到提供用于XML Web服务的发现信息的资源的链接。如果关联的是URL,它们假定关联到发现文档的位置。
然而,一个实现XML Web服务的Web站点不必支持发现。另一个站点可以负责描述这个服务,例如一个XML Web服务目录。没有一种公共的方法用来发现服务,例如当你创建一个私人使用的服务时。
- · ASP文件中的安全问题
- · ASP开发10条经验总结
- · 认识和优化connection对象
- · ASP提速技巧
- · 用数据绑定实现高效率动态网页
- · 用ASP打开远端MDB文件的方法
- · 使用ASP建设私人的搜索引擎
- · Web程序中网页间数据传递方法小结
- · ASP中实现分页显示的七种武器
- · 在服务器端控制网页
- · 创建移动Web应用程序
- · ASP进阶教程Ⅷ:数据库版本的留言簿
- · 用纯ASP代码实现图片上传并存入数据库中
- · ADO 存取数据库时如何分页显示
- · 随机访问Recordset的一条记录
- · 使用数据绑定控件显示数据
- · 学习使用ASP对象和组件
- · 在ASP中限制同一表单被多次提交
- · ASP中使用Session变量的优缺点
- · ASP编程之ActiveX 组件
- · 利用JSP的思想来做ASP
- · 全面解析Server对象
- · VBScript教程 第七课 使用条件语句
- · VBScript教程 第十一课 深入VBScript
- · VBScript教程 第六课 VBScript运算符
- · VBScript教程 第九课 VBScript过程
- · Form域中用Post提交容量大的数据
- · 网页中用隐藏帧来实现三个应用
- · asp错误说明小全(ZTformflashempire)
- · ASP教程:第十九篇最新的ASP、IIS安全漏洞
- · ASP教程:第十四篇ActiveX组件
- · ASP教程:第十一篇ASP内建对象Server
- · ASP教程:第九篇ASP内建对象Application和Ses…
- · ASP教程:第六篇ASP脚本循环语句
- · ASP教程:第五篇脚本变量、函数、过程和条件语…
- · ASP教程:第三篇ASP基础
- · ASP教程:第二篇ASP简介
- · ASP教程:第一篇Areyouready
