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

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 21-07-2016.

Введение

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

Установка

Для установки Сервиса для изменения статуса печати документов по путевке нужно создать директорию PrintDocumentStatus в каталоге c:/inetpub/wwwroot/ (корневом каталоге IIS) и выложить туда распакованные файлы из архива
mw-ws-printdocumentstatus-9.2.X.XXXXX
В управлении IIS необходимо создать виртуальный каталог для папки PrintDocumentStatus.

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

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
Панель управления

2 Диспетчер служб IIS
Администрирование - Диспетчер служб IIS

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

4 В открывшемся окне нужно нажать кнопку ОК
Добавить приложение

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

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

Описание Значение Настройка
1 Определяет время действия идентификатора аутентифации (token). Время действия (в минутах). <add key="TokenExpireTime" value="10" />
2 Настройка, позволяющая включить механизм логирования. true — система логирования включена;

false или отсутствие настройки — логирование выключено.

<add key="UseLog" value="true"/>

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

По путевке должны быть заведены документы.

Логирование

Для детализации ошибок, которые могут возникнуть при работе web-сервиса (например, когда методы web-сервиса возвращают значение ErrorCode 2) можно включить логирование.

В секции <configSections> надо добавить строку:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

Далее прописывается секция <log4net>:

<log4net>
   <appender name="ExceptionLogger" type="log4net.Appender.FileAppender">
     <param name="File" value="C:\\MasterTourLogs\\ExceptionLogger.txt" />
     <param name="AppendToFile" value="true" />
     <layout type="log4net.Layout.PatternLayout">
       <param name="ConversionPattern" value="%date [%thread] %-5level [%ndc] - %message %newline %exception" />
     </layout>
   </appender>
   <logger name="ExceptionLogger">
     <param name="Threshold" value="ALL" />
     <appender-ref ref="ExceptionLogger" />
   </logger>
 </log4net>

Красным цветом выделен путь к файлу лога. Здесь может быть указан произвольный путь.

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

Аутентификация (метод GetUserToken)

Метод возвращает строку - идентификатор аутентификации, который используется для подтверждения авторизации при вызове методов web-сервисов.

Сигнатура метода

public TokenResult GetUserToken(string userLogin, string userPassword)

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

  • userLogin - имя пользователя;
  • userPassword - пароль.

Возвращаемые значения

Метод возвращает результат своей работы в виде класса TokenResult. Корректность результата проверяется значением поля ErrorCode данного класса:

  • 0 - результат корректный;
  • 2 – внутренняя ошибка;
  • 5 - неправильный логин или пароль.

Описание класса приведено ниже:

public class TokenResult
 {
     public int ErrorCode;
     public string Token;
 }
 

где

  • ErrorCode - код результата;
  • Token - идентификатор аутентификации.

Изменение статусов (метод SetReservationDocumentsPrintStatus)

Описание метода

Данный метод предназначен для изменения статусов печати документов по путевке.

Сигнатура метода

public int SetReservationDocumentsPrintStatus(string userToken, string reservationCode, int printStatusID)

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

  • userToken - идентификатор аутентифкации;
  • reservationCode – номер путевки;
  • printStatusID – идентификатор статуса печати (поле PDS_ID в таблице PrintDocumentStatuses).

Возвращаемые значения

Данный метод возвращает целочисленное значение, обозначающее результат выполнения операции:

  • 0 – операция выполнена успешно;
  • 1 – путевка не найдена или на путевку нет прав;
  • 2 – внутренняя ошибка сервиса;
  • 3 - статус печати документов не найден;
  • 4 - документы по путевке не найдены;
  • 6 - некорректный или устаревший идентификатор аутентификации(token).