Click to Rate and Give Feedback
MSDN
MSDN Library
SQL Server
SQL Server 2008
Database Engine
Development
Developer's Guide
 Native XML Web Services: Deprecated...
Community Content
In this section
Statistics Annotations (4)
SQL Server 2008 Books Online (October 2008)
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.

In SQL Server 2008, 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.

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.
  • When you run an application in the SQL 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.

This section discusses handling for data types that have been added beginning in SQL Server 2008 and 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 beginning in SQL Server 2008, the SOAP component will:

  • If no data has been written to the network, return a SOAP fault stating that the "xxx" is an unsupported data type.
  • If data has been written to the network, terminate the connection.

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 beginning 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.

The following catalog views are also deprecated:

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
SQL Web Service endpoints are deprecated, now what do I do?      David Lundell -- ILM MVP   |   Edit   |  

The web service end points have been deprecated in SQL 2008 but are still available, so you could use it, but that is not recommended.
Here is a discussion on whether the web services in SQL 2005 is better or ASP.NET web services is better: http://demiliani.com/blog/archive/2007/08/23/6429.aspx

In, Bob Beauchemin’s blog on the issue: http://www.sqlskills.com/blogs/bobb/post/HTTP-Endpoints-to-be-deprecated-in-SQL-Server-2008.aspx he suggests that "the likely successor seems to be ADO.NET Data Services, a mechanism to produce RESTful services over any type of data, using Entity Data Model or LINQ to SQL"

Here is a link to Jesse Liberty's tutorial on using WCF and LINQ to get data from SQL 2008: http://silverlight.net/blogs/jesseliberty/archive/2008/04/04/tutorial-data-from-a-sql-db-via-wcf-using-linq.aspx

Here is a link to Microsoft's info on WCF: http://msdn.microsoft.com/en-us/netframework/aa663324.aspx

Tags What's this?: 2008 (x) linq (x) services (x) sql (x) wcf (x) web (x) Add a tag
Flag as ContentBug
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker