Web-сервисы: Сервис для получения информации по турам — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][досмотренная версия]
(Настройка)
(Настройки web.config приложения ПК Мастер-Web)
Строка 22: Строка 22:
 
==Настройка==
 
==Настройка==
 
После установки «Сервис для получения информации по турам» доступен по адресу: http://ip- адрес сервера Мастер-Веб/TourInfo/FullTourInfoService.asmx
 
После установки «Сервис для получения информации по турам» доступен по адресу: http://ip- адрес сервера Мастер-Веб/TourInfo/FullTourInfoService.asmx
===Настройки web.config приложения ПК Мастер-Web===
+
===Настройка кэширования===
 +
Для ускоренного получения информации по турам используется механизм кэширования.
  
На одном уровне с секцией <ConfigSections> необходимо добавить секцию интервала кэширования:
+
Кэшируются туры, даты заездов, услуги, курсы валют, цены.
 +
 
 +
Для включения механизма необходимо добавить внутрь секции <sectionGroup name="megatec.web"> следующие теги:
 +
 
 +
<sectionGroup name="cache">
 +
        <section name="cachingDurations" type="System.Configuration.NameValueSectionHandler" />
 +
</sectionGroup>
 +
 
 +
А также добавить внутрь контейнера <megatec.web> следующие теги:
  
 
  <cache>
 
  <cache>
<cachingDurations>
+
    <cachingDurations>
<add key="extendedTourInfoCacheInterval" value="600"/>
+
        <add key="extendedTourInfoCacheInterval" value="600"/>
</cachingDurations>
+
    </cachingDurations>
 
  </cache>
 
  </cache>
  
  ВАЖНО!!! Указывать временной интервал кэширования как можно больше.
+
В настройке ''extendedTourInfoCacheInterval'' задается время обновление кэша информации по турам (в секундах);
 +
 
 +
  ВАЖНО! Указывать временной интервал кэширования не менее часа.
  
 
==Подготовка данных==
 
==Подготовка данных==

Версия 17:09, 5 июля 2013

Введение

Данный модуль предназначен для получения информации по списку рассчитанных туров, их типам, а также детализации рассчитанных цен.

Установка

Для установки Сервиса для вывода информации по туру нужно создать отдельную директорию, например, TourInfo (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива mw-ws-tourinfo-2007.2.XX.XXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourInfo.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

  • 1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)


857.PNG

  • 2. Запустить Internet Information Services (IIS) Manager


858.PNG

  • 3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».


859.PNG

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке TourInfo, в которую установлен web-сервис «Сервис для получения информации по турам», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»: <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>

Настройка

После установки «Сервис для получения информации по турам» доступен по адресу: http://ip- адрес сервера Мастер-Веб/TourInfo/FullTourInfoService.asmx

Настройка кэширования

Для ускоренного получения информации по турам используется механизм кэширования.

Кэшируются туры, даты заездов, услуги, курсы валют, цены.

Для включения механизма необходимо добавить внутрь секции <sectionGroup name="megatec.web"> следующие теги:

<sectionGroup name="cache">
       <section name="cachingDurations" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>

А также добавить внутрь контейнера <megatec.web> следующие теги:

<cache>
   <cachingDurations>
       <add key="extendedTourInfoCacheInterval" value="600"/>
   </cachingDurations>
</cache>

В настройке extendedTourInfoCacheInterval задается время обновление кэша информации по турам (в секундах);

ВАЖНО! Указывать временной интервал кэширования не менее часа.

Подготовка данных

Описание формата данных

GetCountries

Параметр:token Значение:пустая строка

Результат
  • ArrayOfCountry
    • Country
      • CountryID – идентификационный номер страны
      • Name – название страны

GetTourTypes

Параметр:token Значение:пустая строка

Результат
  • ArrayOfTourType
    • TourType
      • TourTypeID – идентификационный номер типа тура
      • Name – название типа тура

GetTours

Параметр:token Значение:пустая строка
Параметр:beginDate Значение:дата, начиная с которой выбирать туры (дата создания тура) в формате «yyyy-MM-dd»

Результат

  • ArrayOfTourInfo
    • TourInfo
      • TourID – идентификационный номер тура
      • Name – название тура
      • TypeID – идентификационный номер типа тура
      • URL – url страницы с описанием тура
      • CreatedDate – дата создания тура (формат «yyyy-MM-ddThh:mm:ss»)
      • ValidFrom – действителен с
      • ValidTo – дейстивтелен по
      • Code – код тура
      • CountryID – идентификационный номер страны

GetTourInfo

Параметр:token Значение:пустая строка
Параметр:tourKey Значение:идентификационный номер тура
Параметр:beginDate Значение:дата начиная с которой выдавать информацию в формате «yyyy-MM-dd»

Результат
  • ExtendedTourInfo
    • TourID – идентификационный номер тура
    • Name – название тура
    • TypeID – идентификационный номер типа тура
    • URL – url страницы с описанием тура
    • CreatedDate – дата создания тура (формат «yyyy-MM-ddThh:mm:ss»)
    • ValidFrom – действителен с
    • ValidTo – дейстивтелен по
    • Code – код тура
    • CountryID – идентификационный номер страны
    • TourByDateInfos
      • TourByDateInfo
  • Date – дата заезда
  • TourCosts
    • TourCosts
      • TourCost
  • AccomodationType – тип размещения
  • Cost – стоимость
  • Currency – валюта
  • ServicesCosts
    • ServiceCost
      • ServiceName – назавние услуги
      • Cost – стоимость услуги
      • Currency – валюта
      • TransportKey – ключ транспорта (-1, если услуга не подразвумевает схему размещения в транспорте)
      • ServiceID – идентификационный номер услуги

GetBusyBusPlan

Параметр:token Значение:пустая строка
Параметр:tourKey Значение:идентификационный номер тура
Параметр:tourDate Значение:дата начиная с которой выдавать информацию в формате «yyyy-MM-dd»

Результат

  • BusPlan
    • TransportKey – идентификационный номер траспортного средства
    • Title – название транспортного средства
    • AreasCount – количество зон (автобусов)
    • RowsCount – количество рядов
    • ColumnsCount – количество мест в ряду
    • Cells
      • BusPlanCell
        • Row – горизонтальная составляющая координаты места
        • Column – вертикальная составляющая координаты места
        • Area – зона (номер автобуса)
        • BusPlanCellType – тип места (None, Comment - комментарий, Gangway – проход, Seat – пассажирское место)
        • IsUsed – true – место занято, иначе - false

Работа в системе

Метод получения списка стран (GetCountries)

Пример SOAP-запроса к сервису:
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetCountries"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCountries xmlns="http://megatec.ru/">
      <token>string</token>
    </GetCountries>
  </soap:Body>
</soap:Envelope>

Метод получения списка типов тура (GetTourTypes)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTourTypes"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetTourTypes xmlns="http://megatec.ru/">
      <token>string</token>
    </GetTourTypes>
  </soap:Body>
</soap:Envelope>

Метод получения списка туров (GetTours)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTours"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetTours xmlns="http://megatec.ru/">
      <token>string</token>
      <beginDate>string</beginDate>
    </GetTours>
  </soap:Body>
</soap:Envelope> 

Метод получения детализации по туру (GetTourInfo)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTourInfo"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetTourInfo xmlns="http://megatec.ru/">
      <token>string</token>
      <tourKey>int</tourKey>
      <beginDate>string</beginDate>
    </GetTourInfo>
  </soap:Body>
</soap:Envelope>

Метод получения детализации по плану рассадки (GetBusyBusPlan)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTourInfo"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetTourInfo xmlns="http://megatec.ru/">
      <token>string</token>
      <tourKey>int</tourKey>
      <tourDate>string</tourDate >
    </GetTourInfo>
  </soap:Body>
</soap:Envelope>