Для работы сервиса печати необходимы следующие компоненты:
1. Коннектор YokogawaConnector;
2. Веб-сервис печати WebPrintService.asmx, развернутый как отдельное приложение и доступный по хост-адресу для основного приложения "Первой Формы";
3. Сервис заданий на печать TCJobService (предоставляется сотрудниками технической поддержки "Первой Формы") для периодического запуска заданий на печать из очереди.
Необходимые настройки
1. Для корректной работы коннектора в web.config основного приложения должен быть прописан адрес веб-сервиса печати:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="WebPrintServiceSoap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="[ХОСТ]/WebPrintService.asmx" binding="basicHttpBinding" bindingConfiguration="WebPrintServiceSoap" contract="TCWebPrintService.WebPrintServiceSoap" name="WebPrintServiceSoap" />
</client>
</system.serviceModel>
2. В web.config веб-сервиса печати должна быть настроена строка подключения (ConnectionString) по имени PrintServiceConnectionString для БД с тремя таблицами:
•PrintService_Tasks
•PrintService_TaskUnits
•PrintService_LogRecords
(скрипт создания таблиц можно загрузить здесь)
<connectionStrings>
<add name="PrintServiceConnectionString" connectionString="..." />
</connectionStrings>
3. В web.config веб-сервиса печати должны быть указаны настройки:
<appSettings>
<add key="CachePath" value="C:\Cache\TCPrintService"/>
<add key="ConfigPrinterUrl" value="PDFCreator"/>
<add key="NProcessedTasks" value="10"/>
<add key="PathToLogFile" value="C:\Cache\TCPrintServiceLog.txt"/>
</appSettings>
где ConfigPrinterUrl — название принтера, доступного в сети для сервиса печати.
Схема работы
1. Подготовка файлов на печать осуществляется в YokogawaConntector в папке bin.
2. Коннектор по событию отправляет веб-сервису печати файлы для печати.
3. Веб-сервис печати принимает файлы и записывает их в БД из п.2 в разделе "Необходимые настройки". Задание становится в очередь заданий на печать.
4. Сервис заданий на печать с заданной периодичностью отправляет запрос на веб-сервис печати с командой напечатать задания из очереди.
5. Веб-сервис печати забирает задания из очереди, "склеивает" файлы и отправляет на печать итоговый файл pdf.
6. Если задание выполнено успешно, оно удаляется из БД.
7. Для анализа ошибок можно использовать журналы (логи), которые хранятся в таблице PrintService_LogRecords (см. выше).