鸿 网 互 联 www.68idc.cn

用SQLXML3把存储过程暴露为Web服务

来源:互联网 作者:佚名 时间:2015-06-03 00:00
最新的技术是Web服务 现在出现在所有市场中的类似简单对象访问协议(SOAP) Web服务描述语言(WSDL) 通用描述 发现和集成(UDDI)等术语的基本元素都是XML和Internet Web服务用于建立松散连接的应用程序并实现互操作性 松散连接的应用程序使你能重新配置 重

  最新的技术是Web服务现在出现在所有市场中的类似简单对象访问协议(SOAP)Web服务描述语言(WSDL)通用描述发现和集成(UDDI)等术语的基本元素都是XML和Internet
  
  Web服务用于建立松散连接的应用程序并实现互操作性松散连接的应用程序使你能重新配置重新部署或重新定位它的实现而不影响相关的应用程序互操作性涉及到建立能够在允许Web服务的任何平台上使用的应用程序通过Web服务暴露SQL Server给予应用程序一个松散的连接接口使你能够修改数据库的结构和位置而不影响应用程序另外Web服务使SQL Server能与更多的编程环境和平台交互操作
  
  为了达到互操作性开发者需要在一套开放的工业标准和协议上建立Web服务XML是这些标准中多数的基础提供了不依赖平台的描述和数据表现建立在XML上的SOAP提供了基于标准的向应用程序发送数据和从应用程序接收数据的途径代表性的是使用HTTPWSDL描述了位置方法参数和Web服务使用的数据类型UDDI为注册Web服务或查找需要的其它Web服务的目录提供了一个接口通过把这些标准技术和TSQL编程组合在一起你能把SQL Server存储过程实现为Web服务
  
  SQL Server Web Release (SQLXML )的焦点是Web服务(你能够通过链接下载SQLXML SQLXML 使你能够从数据库中选择存储过程并从虚拟目录中选择XML模版把它们暴露为Web服务的方法因为你能够通过Web服务和传统方法(例如TSQL EXEC语句OLE DBADO和ODBC)调用存储过程你可以最大化地重复使用这些组件简单地说SQLXML 使你能把数据库编程中的专门技术扩展到Web服务中而不需要学习新的语言或工具下面让我们看看怎样把存储过程转变为Web服务
  
  配置虚拟目录把存储过程暴露为Web服务的第一步是从安装SQLXML 产生的Configure IIS Support(配置IIS支持)菜单项中选择Microsoft IIS Virtual Directory Manager(微软IIS虚拟目录管理器)要建立虚拟目录从左边的树视图中选择Web服务器接着展开该视图并点击默认的Web站点右击右边面板中的任意区域选择Context-》New-》Virtual Directory来显示一个New Virtual Directory Properties(新虚拟目录属性)对话框安全和数据源页面上输入能够访问Northwind示例数据库的SQL Server登陆许可注意你在通用页面上选择的目录的许可必须给你在安全和数据源 页面上为IIS配置的默认用户授权(请查看IIS文档寻找配置的详细信息)为了避免许可的问题为你的虚拟目录选择Inetpub\wwwroot的一个子目录IIS默认用户自动拥有访问Inetpub\wwwroot下面数据的权限下一步设置页面上选择Allow POST选项这样虚拟目录能够接受HTTP POST请求点击应用
  
  配置虚拟名称在配置虚拟目录后点击New Virtual Directory Properties(新虚拟目录属性)对话框上的虚拟名称页面从虚拟名称列表中选择新虚拟名称为该虚拟名称选择一个名字接着把它的类型设置为soap列表显示了把soap字符串作为虚拟名称的VBScript代码给虚拟名称输入一个路径该路径包含了当你把修改保存到根目录时从IIS虚拟目录管理器中输出的WSDL文件我通常选择(它选择相同的目录作为虚拟目录你可以接收对话框中剩余字段的默认值点击保存当你保存虚拟名称时SQLXML 给你指定的虚拟名称目录写入两个文件扩展名为wsdl其它的文件扩展名为ssc包含IIS虚拟目录管理器使用的存储过程的XML描述现在你选择希望暴露作为Web服务方法的存储过程在本文的例子中我使用列表中所示的OrdersForCustomer存储过程这个存储过程返回指定客户ID(作为参数传递进的)的订单集合进行下一步之前你必须使用查询分析器(Query Analyzer)把这个存储过程安装在Northwind示例数据库中
   
   
  建立Web服务新虚拟目录属性对话框的虚拟名称页面上选择刚刚建立的虚拟名称接着点击配置(Configure)这样就显示了Soap虚拟名称配置对话框(图所示)在这个对话框中选择你希望暴露作为Web服务方法的存储过程为了选择一个存储过程点击(它建立你配置虚拟目录访问的一个数据库中可用的存储过程列表不要选择包含FOR XML子句查询的存储过程作为代替你必须选择返回标准结果集合的存储过程SQLXML 期望存储过程返回输出参数或标准结果的结果集接着该结果在中间层中被建立为XML选择返回标准结果集的存储过程使所有可以用于Web服务或传统编程方法(例如TSQL)的存储过程的灵活性最大化了当你在中间层中建立XML查询结果要小心避免SQLXML 的限制(你可以查看SQLXML 在线文档查看这些限制的详细信息)你选择OrdersForCustomer存储过程后点击确定(OK)接着点击Soap虚拟名称配置对话框的保存(Save)按钮这样你就已经建立了第一个Web服务了你可以使用任何文本编辑器检查为虚拟名称选择的目录中的WSDL该WSDL文件包含余你选择的Web服务相对应的方法定义
  
  为了测试新建立的Web服务使用列表中显示的VBScript代码该代码建立一个调用该Web服务的SOAP消息接着使用XMLHTTP对象把该SOAP请求发送给Web服务SOAP结果显示在一个消息框中这个客户端简单演示了SOAP小心在VBScript和SQLXML 之间的交换但是它也显示了现在存储过程调用可以通过在HTTP上使用SOAP跨平台交互操作它们通过WSDL和SCC文件中的描述提供了到存储过程的松散连接
  
网友评论
<