MSSQL 에서는 개발자의 코딩없이도 간단히 웹서비스를 만들 수 있는 기능을 제공합니다.
2005에서 시작되어 2008 R2 버전 이후로는 삭제된다고 합니다.

--테스트용 프로시저
USE adventureworks
GO

CREATE PROCEDURE dbo.GetPostalCode
As
SELECT AddressLine1,PostalCode FROM Person.Address;
GO

--테스트용 프로시저 끝
exec AdventureWorks.dbo.GetPostalCode



 

--웹서비스 생성
USE adventureworks
GO 

--EXEC sp_reserve_http_namespace N'http://localhost/PostalCode' -- Http Namespace예약

--DROP ENDPOINT GetPostalCode
CREATE ENDPOINT GetPostalCode    -- 웹서비스이름
    STATE = STARTED
AS HTTP
(
    PATH = '/PostalCode',          --WebService를 찾을 하위 WSDL 명칭입니다.
    AUTHENTICATION = (INTEGRATED),
    PORTS = (CLEAR),               --CLEAR (기본 80) SSL (443)
    SITE = 'localhost'             --서비스가 시작되는 도메인를 입력합니다
)
FOR SOAP
(
    WEBMETHOD 'PostalCodeList'     --WSDL에 정의할 WebMethod
        (NAME='AdventureWorks.dbo.GetPostalCode'),  --연결될 저장프로시저
    BATCHES = DISABLED,
    WSDL = DEFAULT,
    DATABASE = 'AdventureWorks',     --연결될 DB
    NAMESPACE = 'http://localhost/PostalCode'       --http://localhost/PostalCode?wsdl
)
GO

-- 웹서비스 생성끝


--STARTED : 수신 및 응답
--DISABLED : 수신, 응답 모두 거부
--STOPPED :  수신은 되지만 에러를 리턴

 

인증 옵션들

--INTEGRATED

--DIGEST

--BASIC  


 

 

등록된 SOAP EndPoint 확인할 수 있는 시스템테이블입니다.

SELECT * FROM sys.endpoints
SELECT * FROM sys.soap_endpoints
SELECT * FROM sys.endpoint_webmethods;



그림1. 등록내용확인

19707D4A4D2D352C2B928B



이렇게 편하게  웹서비스를 참조해 가져다 쓸 수 있습니다.

다음버전에서도 계속 쓸수 있었으면 하는 소망이 있네요 ^^;;

참고 : http://msdn.microsoft.com/ko-kr/library/ms175577(v=SQL.105).aspx





profile

안녕하세요 우주인입니다 ^^;;