Предварительные технические требования

ПО:

Организация должна иметь белый ip-адрес.

На машину с сервисом должен быть проброшен порт 7600.

Установка ПК Hospital

См. соотв. документацию.

Скачиваем, устанавливаем, подключаем к базе "Поликлиники", к базе "Госпиталя".

Устанавливаем последние обновления.

Установка IIS

Ниже описана установка IIS на Windows 2008 и Windows XP, поскольку на практике чаще всего приходится сталкиваться с этими системами. Для других систем установка производится схожим образом.

Обратите внимание, для Window 2008 и Windows 7 обязательна установка службы Расширения ISAPI.

Windows 2008

Диспетчер сервера - Роли - Добавить роли - Веб сервер (IIS) - Далее, Далее…

На шаге выбора служб роли выбрать Расширения ISAPI (по умолчанию не выбрано), Далее, Установить... Готово.

Windows XP

При установке IIS в Windows XP потребуются файлы, которые находятся в папке I386, на установочном диске системы. Поэтому необходимо иметь установочный диск, либо копию папки I386 с него.

Если берется копия с "не родного" диска, важно, чтобы системы были идентичны (версии SP совпадали). Иначе возможна некорректная установка и т.п.

Панель управления - Установка и удаление программ - Установка компонентов Windows - Internet Information Server (IIS) - Далее...

Если выйдет предложение вставить диск - необходимо выбрать соответствующий диск, или указать путь до файлов в I386.

При успешной установке в "Администрировании" появится консоль управления IIS.

Установка Microsoft SOAP Toolkit

Установочный файл находится в архиве с необходимым ПО

Устанавливается обычно, по типу "согласен-далее-далее-готово".

Установка и настройка веб-сервиса

Скачиваем архив с необходимым ПО

Распаковываем в папку C:\web-registratura.

Запускаем:

C:\web-registratura\install\setup.bat

В Windows 7 и 2008 запускать нужно в командной строке с повышенными привилегиями: правый клик мыши - Запуск от имени администратора.

Для серверных ОС - см. в конце документа Дополнение, п. 3!

Настройки IIS

Необходимо создать новый или изменить существующий веб-узел так, чтобы он имел следующие параметры:

Windows 2008

Диспетчер служб IIS - сайты - Добавить веб-сайт...

Выбираем наш сайт, заходим в Сопоставление обработчиков.

В меню Действия справа (или по правому клику мыши) выбираем - Добавить сопоставление сценария...

Важно! Для 64-разрядных систем

Заходим в Пулы приложений, выбираем пул приложений нашего сайта, в меню справа (или по правому клику мыши) выбираем Дополнительные параметры...

Параметр Разрешены 32-разрядные приложения устанавливаем True.

Windows XP

Здесь возможности создать несколько веб-узлов нет, поэтому редактируем существующий. Выбираем веб-узел по умолчанию, правы клик мыши - Свойства:

Исполняемый файл: C:\Progra~1\Common~1\MSSoap\Binaries\SOAPIS30.dll (именно в таком формате, 8.3. Путь с пробелами даже в кавычках в итоге приводит к ошибке, такой вот баг. Относится к IIS5 и IIS6).

Расширение: .wsdl

OK, OK, OK.

Локальное тестирование сервиса

В браузере открыть файл http://localhost:7600/local.wsdl

Должно открыться что-то вроде этого.

Запустить c:\web-registratura\install\test32.bat (test64.bat для 64-разрядной системы).

Если все в порядке, убедитесь в доступности сервиса извне (вне вашей сети) по белому ip-адресу. В браузере по адресу http://ваш-белый-ip:7600/local.wsdl (вместо ваш-белый-ip укажите свой адрес) должно открываться то же самое, что и на localhost. Если не открывается см. следующие пункты.

Брандмауэр

Если включен брандмауэр, создайте разрешающее подключение правило для порта 7600.

Проброс порта

Как правило, в учреждениях стоит роутер и vipnet-координатор. Или другое устройство, или компьютер, или даже цепочка из устройств.

Суть в том, что на них необходимо настроить проброс порта 7600 на машину, на которой установлен веб-сервис, чтобы запросы к сервису извне доходили до места назначения.

На vipnet-координаторе в этом случае необходимо обратиться в ТП, которая занимается его обслуживанием

Как это делать, см. документацию устройств. Как правило, на модемах и роутерах настройки находятся в разделе Advanced/NAT/Firewall и называются Port forwarding/Virtual Servers.

Финал

При успешной установке сервиса сообщите информацию о себе (белый ip-адрес, название организации, подключаемые подразделения, адреса, телефоны и пр.) по адресу hospital@torins.ru, с пометкой в теме письма web-registratura. Или по телефону (391) 2 913-012. Или по Skype

Дополнение

Несколько слов о том, что происходит под капотом при запуске run32.bat(run64.bat). Понимание этого может помочь в исправлении ошибок, возникших при некорректной установке сервиса.

  1. В системе регистрируются (командой regsvr32) программные компоненты сервиса. В Window Server 2008 и 7 для этого нужны повышенные привилегии, поэтому успех возможен только при запуске из командной строки "от имени администратора".

    Всегда можно повторно запустить install\reg32.bat (install\reg64.bat), если возникают сомнения в успехе операции.

  2. Производится попытка автоматически определить ваш белый ip-адрес. При успешном определении, в файлах prerecordwp.wsdl и vguz_proxy\wsdl\vguz.wsdl в строке (это примерно 4-я строка снизу)

    <soap:address location="http://localhost:7600/prerecordwp.wsdl"/>

    localhost заменяется на определенный ip-адрес. Например, если адрес 95.130.134.127, то должно стать:

    <soap:address location="http://95.130.134.127:7600/prerecordwp.wsdl"/>

    Если автоматически адрес не определился, необходимо вручную отредактировать файлы prerecordwp.wsdl и vguz_proxy\wsdl\vguz.wsdl, заменив в них localhost на свой белый ip-адрес, это можно сделать в "блокноте" или др. текстовом редакторе.

  3. Запускается установочный файл install\web-registratura-COMplus.MSI, который установит COM+ приложение. В успехе его установки можно убедиться, зайдя в оснастку Службы компонентов - … - Приложения COM+, должно появиться COM+ приложение web-registratura.

    Если на компьютере не установлен Госпиталь, COM+ приложение установить не удастся!

    Важный момент для серверных ОС (Windows Server 2008 и пр.), к Windows XP и 7 не относится. По умолчанию приложение запускается под Текущим (вошедшим в систему) пользователем. См. свойства приложения web-registratura, вкладка Удостоверение

    На сервере не всегда есть интерактивный, "вошедший в систему пользователь", поэтому необходимо указать конкретную учетную запись, имеющую права на чтение и запись в БД Госпиталя и Поликлиники!