浅谈ASP.NET XML Web服务


  本文标签:ASP.NET XML Web服务

  ASP.NET 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服务通信的关键协议  。

  ASP.NET 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)  。

  ASP.NET XML Web服务发现

  XML Web服务发现是使用Web服务描述语言WSDL定位或发现一个或多个描述特定的XML Web服务的文件的操作  。它让XML Web服务客户端得知一个XML Web服务是否存在并且到哪里找到这个XML Web服务的描述文件  。

  一个发布的.disco文件,是包含连接到其他描述XML Web服务的资源的XML文件,能够编程发现一个XML Web服务  。下面的代码给出了一个发现文件的结构的例子:

  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=
    "http://www.w3.org/2001/XMLSchema-instance" xmlns=
    "http://schemas.xmlsoap.org/disco/">  
  3. <contractRef ref="http://www.contoso.com/Counter.asmx?wsdl" docRef=
    "http://www.contoso.com/Counter.asmx" 
  4. xmlns="http://schemas.xmlsoap.org/disco/scl/" />  
  5. <soap address="http://www.contoso.com/Counter.asmx" xmlns:q1=
    "http://tempuri.org/" binding="q1:CounterSoap" 
  6. xmlns="http://schemas.xmlsoap.org/disco/soap/" />  
  7. </discovery>