SQL Server 2005 SOAP エンドポイント

SQL Server 2005 の CREATE ENDPOINT ... AS HTTP を使って、Web Service を作成する方法は以下の通り。 ここでは cities というテーブルの city_name フィールドに含まれる文字をパラメータとして受け取り、 その結果を返す GetCityName というストアドプロシージャを Web Service とする方法を例にとります。

CREATE PROCEDURE GetCityName (
	@s	VARCHAR(100)
)
AS
BEGIN

	SET NOCOUNT ON;

	SELECT *
	FROM cities
	WHERE city_name LIKE '%' + @s + '%';

END
GO


CREATE ENDPOINT GetCityWS
	STATE = STARTED
AS HTTP (
	SITE = 'localhost',
	PATH = '/sql/scpwtdb',
	AUTHENTICATION = (INTEGRATED),
	PORTS=(CLEAR)
) FOR SOAP (
	WEBMETHOD 'GetCityName'
	(
		name = 'scpwtdb.dbo.GetCityName',
		schema = STANDARD
	),
	WSDL = DEFAULT,
	DATABASE = 'scpwtdb',
	BATCHES = ENABLED
);
GO

上記コードによって、WSDL を http://localhost/sql/scpwtdb?WSDL として取得できるようになるので、 それを用いて、Web Service Proxy の生成等を行うと良いでしょう。ちなみに、結果セットは .NET プログラマにはお馴染みの DataSet として返ります。

関連書籍

このトピックに関するおすすめの参考資料は次です。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Web/DB プログラミング徹底解説