本机 XML Web 服务:不推荐在 SQL Server 2008 中使用
后续版本的 Microsoft SQL Server 将删除该功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。
在 SQL Server 2008 中,不推荐使用本机 XML Web 服务(SOAP/HTTP 端点);在 SQL Server 的将来版本中会删除本机 XML Web 服务。请计划将现有 SOAP/HTTP 端点转换为使用 Windows Communications Foundation (WCF) 或 ASP.NET。请避免在新的开发工作中使用 SOAP/HTTP 端点。
查找使用 SOAP 端点的场合
您可以看到您的应用程序使用 SOAP 端点的场合,如下所示:
运行升级顾问
将 SQL Server 版本升级为 SQL Server 2008。
在 SQL Server 事件探查器中运行应用程序,并筛选事件探查器输出以显示“不推荐使用:警告事件”。
当创建或修改 SOAP 端点时,SQL Server 引擎将发出警告。
SQL Server 错误日志将包含在启动 SQL Server 时启用的不推荐使用的 SOAP 端点的警告。
当在存储过程中发出的 SOAP 端点使用 SQL Server 2005 之后引入的数据类型时,应用程序失败。
对在 SQL Server 2005 之后添加的数据类型的 XML 本机 Web 服务支持
本部分讨论了从 SQL Server 2008 开始添加、且显示为存储过程参数(作为 Web 服务公开)和 SqlBatch 参数(即席 Transact-SQL 查询)的数据类型的处理方式。
功能 |
处理 |
---|---|
WSDL 生成 |
在 WSDL 生成过程中,评估存储过程的参数数据类型和安全限制。如果其中一个存储过程参数的数据类型为 SQL Server 2008,则在最终生成的 WSDL 文档中以 XML 注释 (<!-- text-->) 的形式注释掉该存储过程。 |
存储过程参数处理 |
与 SQL Server 2005 SOAP 端点一样,创建端点时,每个端点都不会对映射到该端点的存储过程进行任何验证。因此,存储过程仅在收到 SOAP 请求时在运行时验证。利用此验证过程,当收到 SOAP 请求时,SQL Server 将验证该请求是否面向存储过程,并检查存储过程参数元数据以查看是否有任何未知参数(例如,SQL Server 2008 数据类型)。如果存在任何未知参数,服务器将向客户端返回 SOAP 错误,并且不会执行其他处理。 |
结果集处理 |
当 SELECT 语句结果集包含的一个或多个列的数据类型是从 SQL Server 2008 开始添加的数据类型,SOAP 组件将执行下列操作:
|
SqlBatch 参数处理 |
特殊 SqlBatch 方法支持声明 sqltypes 命名空间和 xsd 命名空间中的参数数据类型。sqltypes 命名空间不支持从 SQL Server 2008 开始添加的数据类型。SQL Server 2005xsd 到 sqltypes 数据类型的映射保持有效。xsd:dateTime 将继续映射到 dateTime 而不是 dateTimeOffset。 |
不推荐使用 sys.soap_endpoints 和 sys.endpoint_webmethods
同时,不推荐使用以下目录视图: