Web-сервисы: Сервис для работы с документами по путевке
Версия статьи от 19-11-2015.
Введение
Данный модуль предназначен для отображения и выгрузки отчетов и файлов, прикрепленных к путевке. Файлы можно просматривать и распечатывать.
Установка
Для установки web-сервиса нужно создать отдельную директорию, например, ReservationDocuments (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива ws-reservationDocuments-9.2.XX.XXXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки ReservationDocuments.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
- 1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)
- 2. Запустить Internet Information Services (IIS) Manager
- 3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config, расположенном в папке ReservationDocuments, в которую установлен web-сервис «Сервис работы с документами по путевке», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;
Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
Базовый алгоритм работы с сервисом
Данный сервис позволяет получить список доступных для печати документов, а также распечатать их по отдельности. Для этого, сервис предоставляет несколько методов.
- Во-первых, необходимо получить список доступных для печати документов по путевке. Для этого нужно вызывать метод получения информации о возможных выгрузках. В ответе сервиса придет список описаний документов, в каждом из которых будет указан тип документа: файл или отчет.
- Для выгрузки какого-либо документа необходимо вызвать соответствующий его типу метод. Для файла - метод получения одного файла, для отчета - метод получения одного отчета. Входными параметрами данных методов являются данные, полученные при вызове метода получения информации о доступных выгрузках, а выходными - файл или отчет.
Методы web-сервиса
Информация о возможных выгрузках
Метод доступен GET запросом по пути: Адрес сервиса/Documents/Код путевки.
Например, http://localhost/ReservationDocuments/Documents/EN50915999, где:
- http://localhost/ReservationDocuments - адрес сервиса
- EN50915999 - код путевки
Входные параметры
- Код путевки
Выходные параметры
Набор описаний документов (тег <DocumentDescription>)
- Тип документа (файл или отчет, тег <Type>)
- Название документа (тег <Name>)
- Код документа (используется только для отчетов, тег <Code>)
- GUID документа (тег <GUID>)
Пример ответа метода:
<ArrayOfDocumentDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/0/Megatec.Web.Services.ReservationDocuments.Models"> <DocumentDescription> <Code>ACCNTFL</Code> <GUID>A5FCA95D-CD56-4A79-A4CF-F10C50FDC2DB</GUID> <Name>ФЛ Счет-Подтверждение Клуб</Name> <Type>Report</Type> </DocumentDescription> <DocumentDescription> <Code>ACCNT</Code> <GUID>730AF135-E879-439D-B2D6-0A8AF619BB33</GUID> <Name>Счет-Подтверждение Клуб</Name> <Type>Report</Type> </DocumentDescription> <DocumentDescription><GUID>f6f87c77-7177-4648-b983-4b1f66767497</GUID> <Name>Счет-подтверждение.pdf</Name> <Type>File</Type> </DocumentDescription> <DocumentDescription>
<GUID>61075356-4e3d-4a8d-87d7-1f4853f7916d</GUID> <Name>Тестовый_файл.docx</Name> <Type>File</Type> </DocumentDescription> </ArrayOfDocumentDescription>
Получение одного файла
Метод выгрузки файла доступен GET запросом по пути: Адрес сервиса/Documents/file/Guid файла.
Например, http://localhost/ReservationDocuments/Documents/file/61075356-4e3d-4a8d-87d7-1f4853f7916d, где:
- http://localhost/ReservationDocuments - адрес сервиса
- 61075356-4e3d-4a8d-87d7-1f4853f7916d - GUID файла, полученный из ответа метода получения информации о возможных выгрузках (тег <GUID>)
Входные параметры
- GUID файла
Выходные параметры
- Выходной поток с файлом
Получение одного отчета
Метод доступен GET запросом по пути: Адрес сервиса/Documents/report/Код путевки/GUID отчета/Код отчета.
Например, http://localhost/ReservationDocuments/Documents/report/EN50915999/730AF135-E879-439D-B2D6-0A8AF619BB33/ACCNT, где:
- http://localhost/ReservationDocuments - адрес сервиса
- EN50915999 - код путевки
- 730AF135-E879-439D-B2D6-0A8AF619BB33 - GUID отчета, полученный из ответа метода получения информации о возможных выгрузках (тег <GUID>)
- ACCNT - код отчета, полученный из ответа метода получения информации о возможных выгрузках (тег <Code>)
Входные параметры
- Код путевки
- GUID отчета
- Код отчета
Выходные параметры
- Выходной поток с файлом