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

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][досмотренная версия]
(Настройка)
(Настройка web.config)
Строка 26: Строка 26:
  
 
Для того, что бы в методе [[Мастер-Web:Дополнительный модуль Сервис для получения информации по турам#GetTourInfo|GetTourInfo]] помимо услуг, включенных в тур, отобразить услуги, прикрепленные к одному ценовому пакету, необходимо добавить настройку ''IncludedServiceClasses'', где указать через запятые ключи классов услуг.
 
Для того, что бы в методе [[Мастер-Web:Дополнительный модуль Сервис для получения информации по турам#GetTourInfo|GetTourInfo]] помимо услуг, включенных в тур, отобразить услуги, прикрепленные к одному ценовому пакету, необходимо добавить настройку ''IncludedServiceClasses'', где указать через запятые ключи классов услуг.
  <add key="includedServiceClasses" value="1,4"/>  
+
  <add key="includedServiceClasses" value="1,4"/>
 +
 
 +
Необходимо, чтобы секция [[Мастер-Web:Установка и настройка#Настройка секции dynamicCharterClasses|dynamicCharterClasses]]  была одинаково настроена и в web.config самого сервиса, и в web.config основного приложения ПК Мастер-Web, если они настроены на одну базу.
 +
 
 
===Настройка кэширования===
 
===Настройка кэширования===
 
Для ускоренного получения информации по турам используется механизм кэширования.
 
Для ускоренного получения информации по турам используется механизм кэширования.

Версия 14:29, 25 июля 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

Настройка web.config

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

Для того, что бы в методе GetTourInfo помимо услуг, включенных в тур, отобразить услуги, прикрепленные к одному ценовому пакету, необходимо добавить настройку IncludedServiceClasses, где указать через запятые ключи классов услуг.

<add key="includedServiceClasses" value="1,4"/>

Необходимо, чтобы секция dynamicCharterClasses была одинаково настроена и в web.config самого сервиса, и в web.config основного приложения ПК Мастер-Web, если они настроены на одну базу.

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

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

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

Для включения механизма необходимо добавить внутрь секции <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>