Начиная с SQL Server 2005, вы можете предоставлять собственные веб-службы XML непосредственно из базы данных.
SQL Server можно настроить для собственного прослушивания запросов HTTP SOAP через конечную точку HTTP. Как правило, вы хотите представить хранимые процедуры или пользовательские функции в качестве конечных точек HTTP, поэтому требуется небольшое кодирование. Но из примеров должно быть очень легко следовать.
Обычно вы начинаете с создания хранимой процедуры следующим образом:
CREATE PROCEDURE [dbo].[getContact]
@ID [int]
AS
BEGIN
SELECT * FROM [AdventureWorks].[Person].[Contact] WHERE ContactID = @ID
END;
И тогда вы бы определили свою конечную точку HTTP следующим образом:
CREATE ENDPOINT SQLEP_GetContact
STATE = STARTED
AS HTTP
(
PATH = '/Contact',
AUTHENTICATION = (INTEGRATED),
PORTS = (CLEAR),
SITE = 'localhost'
)
FOR SOAP
(
WEBMETHOD 'ContactInfo' (NAME='AdventureWorks.dbo.getContact'),
BATCHES = DISABLED,
WSDL = DEFAULT,
DATABASE = 'AdventureWorks',
NAMESPACE = 'http://AdventureWorks/Contact'
);
После создания конечной точки вы можете отправить HTTP-запрос на сервер, чтобы убедиться, что конечная точка отвечает: http://localhost/Contact?wsdl
.
Чтобы изменить или остановить конечную точку, вы можете использовать команду ALTER ENDPOINT
:
ALTER ENDPOINT SQLEP_GetContact
STATE = STOPPED;
Вы можете продолжить, проверив следующие статьи:
ОБНОВЛЕНИЕ: Следуя комментарию Эд Харпера , приведенному ниже, обратите внимание, что собственные веб-службы XML в SQL Server 2008 объявлены устаревшими (ноябрь 2009 г.), и эта функция будет удалена в будущей версии SQL Server. Вместо этого Microsoft предлагает использовать веб-сервисы WCF. Источник: MSDN - Собственные веб-службы XML: устарело в SQL Server 2008