Windows Server 2012.
Включаем роль IIS
Обязательно при настройке роли включить ASP.NETОткрываем базу в конфигураторе. Важно! Запускать 1С нужно через правую кнопку мыши и пункт «Запуск от имени администратора». Далее в конфигураторе выбираем меню "Администрирование" пункт "Публикация на веб-сервере". Нажимаем на кнопку «Опубликовать».
Если при этом будет сообщение об ошибке «Нет доступа к файлу «С:\inetpub\wwwroot\hotel\» то это значит, что вы выполнили запуск не от имени администратора.Включите поддержку 32 битных приложений в IIS.
Для этого нужно выбрать в свойствах сервера IIS DefaultAppPool, справа Advanced Settings, в открывшемся окне (см. картинку)
установить параметр «Enable 32-bit application» в значение trueНастраиваем авторизацию.
Для этого открываем свойства опубликованного пула приложений hotel
заходим в Authentication
подсвечиваем Anonymous Authentication, справа выбираем ссылку Edit…, и, в открывшемся окне выбираем Application pool identityОткрываем ссылку с публикацией веб-сервиса вида
http://<IP address>/hotel/ws/1CHotelReservationInterfaces.1cws?wsdl
где <IP address> указываете адрес вашего сервераДолжно появится окно с авторизацией в базу. Можете ввести имя пользователя и пароль существующего пользователя базы. Можно ничего не вводить.
Главное что в журнале регистрации 1С появится запись вида:
Из этой записи нас интересует имя пользователя под которым IIS пытается открыть базу 1С:Отель.Должно быть такое имя: <ИМЯ ДОМЕНА>\<ИМЯ КОМПЬЮТЕРА>$ В нашем примере это FISHKA\1C$, где FISHKA – это имя домена, 1С – это имя компьютера на котором работает IISВ базе 1С:Отель создаем пользователя online, с ролью BackgroundJob, и интерфейсом BackgroundJob.
У этого пользователя выключаем галочку «Показывать в списке пользователей» и включаем галочку «Аутентификация операционной системы», в имени пользователя пишем ту строку, которую увидели в журнале регистрации, т.е. \\<ИМЯ ДОМЕНА>\<ИМЯ КОМПЬЮТЕРА>$Для проверки открываем в браузере http://<IP address>/hotel/ws/1CHotelReservationInterfaces.1cws?wsdl
Должна открыться страница с XML файлом
если появляется такой результат, значит веб-сервис опубликован успешно.
Нестандартный порт.
Если вы хотите использовать нестандартный порт, т.е. порт отличный от 80. Но нужно в IIS настроить привязки.
Для этого Открываем свойства DefaultWebSite.
Выбираем справа "Bidings..."
Добавляем строку Type = http, port = ваш номер порта, IP Address = *
Пример для порта 21540
Возможные ошибки.
HTTP Error 500.21 - Internal Server Error
Причина: Не установлена роль ASP.NET.
Решение: Поставить ASP.NETЕсли при открытии страницы c веб-сервисом спрашивает логин и пароль то нужно настроить пользователя от имени которого IIS подключается в базу 1С:Отель. См. п.4.
HTTP Error 500.0 - Internal Server Error
Причина: Не разрешен запуск 32-бит приложений
Решение: Дать разрешение на запуск 32-бит приложений. см. п. 3