Native XML Web Services: Deprecated in SQL Server 2008
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.
Native XML Web Services (SOAP/HTTP endpoints) is deprecated; Native XML Web Services will be removed from a future version of SQL Server. Plan to convert your existing SOAP/HTTP endpoints to use Windows Communications Foundation (WCF) or ASP.NET. Avoid using SOAP/HTTP endpoints in new development work.
Discovering Where You Use SOAP Endpoints
You can see where your applications use SOAP endpoints, as follows:
When you run the Upgrade Advisor
When you upgrade your SQL Server version to SQL Server 2008 (or later).
When you run an application in the SQL Server Profiler and filter the profiler output to show Deprecation: Warning events.
The SQL Server engine will issue warnings when a SOAP endpoint is created or modified.
The SQL Server error log will include warnings for deprecated SOAP endpoints that are enabled when SQL Server is started.
Application failure when a SOAP endpoint issued in a stored procedure uses a data type introduced after SQL Server 2005.
XML Native Web Services Support for Data Types Added After SQL Server 2005
This section discusses handling for data types that appear as stored procedure parameters (exposed as a web service) and SqlBatch parameters (ad hoc Transact-SQL query).
Feature |
Handling |
---|---|
WSDL generation |
During the WSDL generation process, stored procedures are evaluated for parameter data type and security permissions. If one of the stored procedure parameters is a SQL Server 2008 data type, the stored procedure will be commented out in the form of XML comment (<!-- text-->) in the final generated WSDL document. |
Stored procedure parameter handling |
As with SQL Server 2005 SOAP endpoints, each endpoint does no validation of the stored procedure mapped to the endpoint when the endpoint is created. As a result, stored procedures are only validated at runtime when the SOAP request is received. Leveraging this validation process, when a SOAP request is received, SQL Server will verify that the request is for a stored procedure and check the stored procedure parameter metadata to see if any of the parameters are unknown (for example, SQL Server 2008 data types). If any of the parameters are unknown, the server will return a SOAP fault to the client and perform no additional processing. |
Result set handling |
When a SELECT statement result set contains one or more columns of data types added in SQL Server 2008, the SOAP component will:
|
SqlBatch parameter handling |
The special SqlBatch method supports declaring a parameter data type in the sqltypes namespace as well as the xsd namespace. sqltypes namespace does not support data types added in SQL Server 2008. SQL Server 2005’s xsd to sqltypes data type mapping remains in effect. xsd:dateTime will continue to map to dateTime instead of dateTimeOffset. |
sys.soap_endpoints and sys.endpoint_webmethods Are Deprecated
The following catalog views are also deprecated: