SQL Soap WebService

IIS может прослушиваться не два десятка портов, как на моем девелоперском кампе, а сотни, поэтому перед тем как создать свою ВЭБ-службу на SQL2005 надо найти в IIS свободный порт и зарезервировать его за SQL2005. Чтобы найти порт - надо проанализировать метабазу IIS - его конфигурационный файл на предмет поиска там свободного порта. Сделать это можно также программно.

Определяемся, что будем слушать порт номер 30. Останавливаем IIS и резервируем порт и имя для веб-сервиса.

exec sp_reserve_http_namespace N'http://localhost:30/sh_endpoint'

Теперь собственно создаем WEB-службу SQL2005 и определяем ее методы:

CREATE ENDPOINT SH_WebService  STATE = STARTED
AS HTTP 
(
PORTS = (CLEAR), 
CLEAR_PORT = 30, 
SITE='localhost', 
PATH='/sh_endpoint/price_service',
AUTHENTICATION = (INTEGRATED)
)
FOR SOAP
(
WEBMETHOD 'GetMyGroupForXML'     (NAME='SH_Price.dbo.GetMyGroupForXML'),
WEBMETHOD 'GetAllFieldsForXML'   (NAME='SH_Price.dbo.GetAllFieldsForXML'),
WEBMETHOD 'GetAllValuesForXML'   (NAME='SH_Price.dbo.GetAllValuesForXML'),
WEBMETHOD 'GetMyUserGroupForXML' (NAME='SH_Price.dbo.GetMyUserGroupForXML'),
WEBMETHOD 'Price_XML'            (NAME='SH_Price.dbo.Price_XML'),
WEBMETHOD 'GetMyPrice1'          (NAME='SH_Price.dbo.GetMyPrice1'),
WEBMETHOD 'GetMyPrice'           (NAME='SH_Price.dbo.GetMyPrice1'),
WEBMETHOD 'GetAllPrice'          (NAME='SH_Price.dbo.GetAllPrice'),
WEBMETHOD 'GetAllPrice1'         (NAME='SH_Price.dbo.GetAllPrice1'),
WEBMETHOD 'GetOnePricePos'       (NAME='SH_Price.dbo.GetOnePricePos'),
WEBMETHOD 'GetFirmLite'          (NAME='SH_Price.dbo.GetFirmLite'),
WEBMETHOD 'GetPriorTovar'        (NAME='SH_Price.dbo.GetPriorTovar'),
WEBMETHOD 'GetPriceForValue'     (NAME='SH_Price.dbo.GetPriceForValue'),
SCHEMA = STANDARD, 
DATABASE = 'SH_Price',
WSDL = DEFAULT
)

Если после создания зайти в узел EndPoints->SOAP, то там можно увидеть созданные точки доступа, но уже со всеми умолчаниями.

Теперь эта ВЕБ-служба должна быть видна из встроенного обозревателя VS2005:


Comments ( )
<00>  <01>  <02>  <03>  <04>  <05>  <06>  <07>  <08>  <09>  <10>  <11>  <12>  <13>  <14>  <15>  <16>  <17>  <18>  <19>  <20>  <21>  <22>  <23
Link to this page: //www.vb-net.com/asp2/20/index.htm
<SITEMAP>  <MVC>  <ASP>  <NET>  <DATA>  <KIOSK>  <FLEX>  <SQL>  <NOTES>  <LINUX>  <MONO>  <FREEWARE>  <DOCS>  <ENG>  <CHAT ME>  <ABOUT ME>  < THANKS ME>