Web-сервисы: Сервис по проверке наличия мест
Введение
Модуль «Сервис проверки наличия мест» предназначен как для проверки квот на одну конкретную услугу, так и на совокупность услуг.
Ссылка на тестовый сервис
С работой тестового сервиса по проверке наличия мест вы можете ознакомиться на нашем демо-сервере.
Установка
Для установки Сервиса проверки наличия мест нужно создать директорию CheckQuotes в каталоге c:/inetpub/wwwroot/ (корневом каталоге IIS) и выложить туда распакованные файлы из архива mw-ws-checkquotes-2007.2.XX.XXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки CheckQuotes.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
- 1. Зайти в Пуск (Start) – Настройки (Settings) – Панель управления (Control Panel).
- 2. В открывшемся окне выбрать Администрирование (Administrative Tools).
- 3. Запустить Internet Information Services (IIS) Manager.
- 4. В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и зайти в Свойства (Properties).
- 5. В открывшемся окне, в закладке Directory нужно нажать кнопку «Create», а затем кнопку «ОК».
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config, расположенном в папке DistributedSearch пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»: <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
Настройка
После установки «Сервис проверки наличия мест» доступен по адресу:
http://ip- адрес сервера Мастер-Веб/CheckQuotes/CheckQuotesService.asmx
Подготовка данных
Сигнатура вызова
/// <summary> /// Проверка квот на совокупность услуг /// </summary> /// <param name="services">Коллекция услуг, на которые необходимо проверить квоты</param> /// <param name="tourDate">Дата начала тура</param> /// <param name="tourDuration">Продолжительность тура</param> /// <param name="currentUserKey">Ключ агентства в таблице партнеров</param> /// <returns>Совокупная квота</returns> public QuotaResult.Status CheckQuotes(List<Megatec.Travel.Entities.Service> services, DateTime tourDate, int tourDuration, int currentUserKey)
Работа в системе
Пример SOAP-запроса к сервису на проверку квот по перелетам
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CheckQuotes xmlns="http://megatec.ru/"> <services> <Service xsi:type="FlightService"> <StartDay>1</StartDay> <Duration>0</Duration> <NMen>2</NMen> <Partner> <ID>27990</ID> </Partner> <Quota>NotChecked</Quota> <PacketID>19443</PacketID> <ServiceClass> <ID>1</ID> </ServiceClass> <Tariff> <ID>226</ID> </Tariff> <Flight> <ID>522</ID> <CityFrom> <ID>1</ID> </CityFrom> <CityTo> <ID>275</ID> </CityTo> </Flight> </Service> <Service xsi:type="FlightService"> <StartDay>8</StartDay> <Duration>0</Duration> <Attribute>0</Attribute> <NMen>2</NMen> <Partner> <ID>27990</ID> </Partner> <Quota>NotChecked</Quota> <PacketID>18920</PacketID> <ServiceClass> <ID>1</ID> </ServiceClass> <Tariff> <ID>226</ID> </Tariff> <Flight> <ID>523</ID> <CityFrom> <ID>275</ID> </CityFrom> <CityTo> <ID>1</ID> </CityTo> </Flight> </Service> </services> <tourDate>2016-08-04T00:00:00</tourDate> <tourDuration>8</tourDuration> <currentUserKey>10764</currentUserKey> </CheckQuotes> </soap:Body> </soap:Envelope>
Пример SOAP-ответа сервиса о проверке квот по перелетам
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CheckQuotesResponse xmlns="http://megatec.ru/"> <CheckQuotesResult>No</CheckQuotesResult> </CheckQuotesResponse> </soap:Body> </soap:Envelope>
Пример SOAP-запроса к сервису на проверку квот по отелю
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CheckQuotes xmlns="http://megatec.ru/"> <services> <Service xsi:type="HotelService"> <StartDay>1</StartDay> <Duration>7</Duration> <NMen>2</NMen> <Partner> <ID>18411</ID> </Partner> <Quota>NotChecked</Quota> <PacketID>19443</PacketID> <City> <ID>233</ID> </City> <Country> <ID>520</ID> </Country> <ServiceClass> <ID>3</ID> </ServiceClass> <Hotel> <ID>3004</ID> </Hotel> <Room> <RoomType> <ID>2</ID> </RoomType> <RoomCategory> <ID>41</ID> </RoomCategory> <RoomAccomodation> <ID>633</ID> </RoomAccomodation> </Room> </Service> </services> <tourDate>2016-08-04T00:00:00</tourDate> <tourDuration>8</tourDuration> <currentUserKey>10764</currentUserKey> </CheckQuotes> </soap:Body> </soap:Envelope>
Пример SOAP-ответа сервиса о наличии мест под запрос
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CheckQuotesResponse xmlns="http://megatec.ru/"> <CheckQuotesResult>Request</CheckQuotesResult> </CheckQuotesResponse> </soap:Body> </soap:Envelope>