Предварительные технические требования
ПО:
Архив с необходимым ПО
- ПК Hospital
- IIS
- MS SOAP Toolkit
Организация должна иметь белый 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
Необходимо создать новый или изменить существующий веб-узел так, чтобы он имел следующие параметры:
- Локальный(физический) путь: C:\web-registratura
- Порт: 7600
- Сопоставление расширения .wsdl с обработчиком C:\Program Files\Common Files\MSSoap\Binaries\SOAPIS30.dll (для 64 разрядных систем - C:\Program Files (x86)\Common Files\MSSoap\Binaries\SOAPIS30.dll)
Windows 2008
Диспетчер служб IIS - сайты - Добавить веб-сайт...
- Имя сайта: web-registratura
- Физический путь: С:\web-registratura
- Порт: 7600
Выбираем наш сайт, заходим в Сопоставление обработчиков.
В меню Действия справа (или по правому клику мыши) выбираем - Добавить сопоставление сценария...
- Путь запроса: *.wsdl
- Исполняемый файл: C:\Program Files\Common Files\MSSoap\Binaries\SOAPIS30.dll (для 64 разрядных систем - C:\Program Files (x86)\Common Files\MSSoap\Binaries\SOAPIS30.dll)
- Имя: MS SOAP (можно произвольное)
- OK.
- На запрос "Разрешить данное расширение ISAPI? ..." ответить Да.
Важно! Для 64-разрядных систем
Заходим в Пулы приложений, выбираем пул приложений нашего сайта, в меню справа (или по правому клику мыши) выбираем Дополнительные параметры...
Параметр Разрешены 32-разрядные приложения устанавливаем True.
Windows XP
Здесь возможности создать несколько веб-узлов нет, поэтому редактируем существующий. Выбираем веб-узел по умолчанию, правы клик мыши - Свойства:
- Описание: web-registratura
- TCP-порт: 7600
- Только в Windows XP - убрать галочку Разрешить поддержку открытых соединений HTTP (в XP максимальное количество одновременных подключений очень мало, поэтому держать соединения открытыми чревато недоступностью ресурса)!
- Во вкладке Домашний каталог:
- Локальный путь: c:\web-registratura
- Нажимаем кнопку Настройка... В появившемся окне Добавить
Исполняемый файл: 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). Понимание этого может помочь в исправлении ошибок, возникших при некорректной установке сервиса.
-
В системе регистрируются (командой regsvr32) программные компоненты сервиса. В Window Server 2008 и 7 для этого нужны повышенные привилегии, поэтому успех возможен только при запуске из командной строки "от имени администратора".
Всегда можно повторно запустить install\reg32.bat (install\reg64.bat), если возникают сомнения в успехе операции.
-
Производится попытка автоматически определить ваш белый 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-адрес, это можно сделать в "блокноте" или др. текстовом редакторе.
-
Запускается установочный файл install\web-registratura-COMplus.MSI, который установит COM+ приложение. В успехе его установки можно убедиться, зайдя в оснастку Службы компонентов - … - Приложения COM+, должно появиться COM+ приложение web-registratura.
Если на компьютере не установлен Госпиталь, COM+ приложение установить не удастся!
Важный момент для серверных ОС (Windows Server 2008 и пр.), к Windows XP и 7 не относится. По умолчанию приложение запускается под Текущим (вошедшим в систему) пользователем. См. свойства приложения web-registratura, вкладка Удостоверение
На сервере не всегда есть интерактивный, "вошедший в систему пользователь", поэтому необходимо указать конкретную учетную запись, имеющую права на чтение и запись в БД Госпиталя и Поликлиники!