Настройка публикации веб-сервиса 1С
Веб-сервис обеспечивает доступ панели телефонии к вашей базе клиентов. Когда поступит звонок с известного номера, имя клиента будет отображено в окне панели. Также веб-сервис обеспечивает доступ к списку сотрудников компании с их добавочными номерами и фотографиями (при наличии).
Данное руководство поможет Вам настроить работу веб-сервиса. Следуйте инструкциям шаг-за-шагом в том порядке, в котором они представлены.
Данное руководство предполагает наличие у читателя навыков установки настройки веб-сервера.
Задачи:
Шаг 1. Опубликуйте веб-сервис
Предварительно необходимо установить и настроить веб-сервер Apache или IIS (подробные инструкции можно найти в интернете или поставляемой к ним документации). При тестировании мы используем инструкцию. О настройке защищенного соединения можно прочитать здесь. Не забудьте настроить правила брандмауэра:
Для АТС MikoPBX правило входящее на 80 порт
Дkя АТС Манго правило входящее на 80, 4222, 8222 портах
Для публикации веб-сервиса:
Запустите конфигуратор Вашей информационной базы от имени Администратора.
Откройте окно настройки публикации на веб-сервере, Администрирование → Публикация на веб-сервере.
Укажите имя публикации под которым будет доступна информационная база (например, base1c). Имя следует указывать латиницей.
На вкладке Web-сервисы установите флажок напротив Публиковать Web-сервисы расширений по умолчанию

(для ранних версий нужно установить флажок напротив микоПровайдерAPI).
Нажмите Опубликовать и согласитесь на вопрос о перезапуске веб-сервера.
Шаг 2. Настройте права доступа к веб-сервису
Если вы уже установили подсистему телефонии 2.2, то данный раздел можно не проделывать, пользователь уже присутствует в конфигурации.
Подключение к информационной базе должно выполняться от имени служебного пользователя.
Для настройки доступа:
Откройте в конфигураторе список пользователей, Администрирование → Пользователи.
Нажмите добавить.
Укажите имя нового пользователя (например, WebService). Имя следует указывать латиницей.
Введите произвольный пароль. Запомните его, он понадобиться позже.

Снимите флажок «Показывать в списке выбора».

На вкладке Прочие установите флажок на против ролей Телефония: Базовые права, Телефония: Веб сервисы.
Нажмите ОК для сохранения изменений.
Шаг 3. Проверьте подключение
Необходимо проверить, что веб-сервер готов принимать обращения к опубликованному веб-сервису.
Для проверки подключения:
Откройте браузер на странице вида:
http://[АдресСервера]/[ИмяПубликации]/ws/miko_crm_api.1cws?wsdl
Для текущего примера ссылка будет иметь вид http://127.0.0.1/base1c/ws/miko_crm_api.1cws?wsdl.
На запрос авторизации укажите имя и пароль служебного пользователя, который был создан на предыдущем шаге.
Если все в порядке, то на экране будет сообщение:
Не указан заголовок управления сеансами или куки с идентификатором сеанса.

Оно говорит, что все в порядке, включен режим повторного использования сеансов для повышения быстродействия в работе веб-сервиса. Вместо сообщения возможно отображение XML представление веб-сервиса.
nightbird/prepare-web-service.txt · Последние изменения: 2021/10/28 14:59 — atar
Инструменты страницы
- Показать исходный текст
- История страницы
- Ссылки сюда
- Наверх
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Как проверить публикацию веб сервиса 1с
Админ говорит — опубликовал на хттпс/адрес/публикация
Запускаю фиддлер, пишу в композере хттпс/адрес/публикация/hs/имя сервиса/имя метода
В ответ приходит:
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано
уже установленное соединение из-за неверного отклика уже подключенного компьютера
Вроде правильно обращаюсь, получается публикация кривая?
(1) ага, все по методичке https://its.1c.ru/db/metod8dev/content/5756/hdoc
пинг, curl. Просто бровзер.
(4) это для веб-сервисов
в браузере даже хттпс/адрес/публикация не откликается.
(5) ага.. попутал.
(6) ну, значит, не опубликовал.. или прав нет, или порты закрыты
ясно, будем пинать админа
Или порты не проброшены, если извне надоть
а не в своей локалке
(0) поменять админа
(11) пока в локалке пробую, через впн
(12) он человек хороший, только очень осторожный
наверняка порты какие то нестандартные использовал и не сказал об этом
или не открыл ))
(0) может дело в https, попробуйте просто http.
Проверка работоспособности веб-сервера
Не работал толком с веб-сервисами, прошу помощи в следующем вопросе. Есть у меня в конфе веб-сервис (картинка 1). По каким-то причинам перестали появляться результаты его работы. Нужно удостовериться, работает ли веб-сервис должным образом. Хочу проверить его банально из браузера.
Что я уже сделал:
1) Проверил жизнеспособность IIS (на серваке набрал http://127.0.0.1/ , увидел стартовую картинку IIS)
2) Переопубликовал веб-сервис (картинка 2). Содержимое каталога после публикации (картинка 3).
Набирал в браузере на сервере:
http://127.0.0.1/trade/IncomingCall/ws/IncomingCall.1cws?wsdl (ошибка 404)
http://127.0.0.1/IncomingCall/ws/IncomingCall.1cws?wsdl (тоже 404, но от IIS, с указанием некорректного пути, который и в самом деле не существует).
Научите жизни бестолкового, а?
Как проверить публикацию веб сервиса 1с
Обмен данными обычно организовывается с помощью выгрузки файла из одной программы и загрузки в другую. Некоторые программисты предоставляют сторонним программам доступ в SQL базу 1С (что вроде как сильно не рекомендуется).
Термин «обмен данными» не всегда подходит к задаче, иногда более корректно сказать – предоставление данных. Например, внешней программе требуется идентифицировать – существует ли такой клиент в 1С и его баланс.
Предоставление доступа к данным 1С – некорректно по причинам безопасности данных. Необходим скорее механизм проверки по имени и паролю с дальнейшим возвратом баланса.
Этот подход называют – сервисным, когда программа предоставляет не данные, а сервис, который позволяет идентифицировать клиента и узнать его баланс.
Как это работает?
SOA – «сервис ориентированная архитектура» – означает, что программы для обмена данными друг с другом используют «сервисы».
Веб сервис – это набор функций (процедур), которые могут быть вызваны извне программы и базы данных.
Для того, чтобы другая программа знала, что такой «сервис» есть у этой программы, первая на веб сайте выкладывает сведения о своих сервисах. Формат такого описания – файл WSDL.
Функции извне вызываются (запускаются) запросом по протоколу SOAP.
Для передачи параметров и результатов используется XML. Для работы с веб-сервисами Вы должны иметь базовое понимание про XML и XDTO.
Web сервис 1С это способ, с помощью которого можно разрешить запускать некоторые функции 1С снаружи базы 1С, в том числе из других программ или других баз 1С.
Это лучше, чем предоставление прямого доступа к данным 1С, так как при вызове метода (функции) web сервиса 1С, доступ к данным внешняя программа не имеет. Функция на языке 1С самостоятельно определяет право внешней программы получить конкретную толику данных по переданным параметрам (например, имени и паролю).
Web сервис 1С это объект 1С, который находится в конфигурации, в ветке Общие/Web-сервисы.

Так как функционирует web сервис 1С с помощью XML пространство имен и пакет XDTO. XDTO пакеты 1С мы обсуждали ранее.
Во многих случаях, можно не создавать свой пакет XDTO, а использовать по умолчанию – выбрав из списка пакет www.sample-package.org

Методы web сервиса 1С
После этого нужно добавить список функций (методов веб сервиса 1С) – которые будут предоставляться наружу. Называть их лучше англоязычно. Функция может иметь параметры.

Базовые типы к использованию:
- string – строка
- int или integer – целое число
- real – дробное число
- date – дата.

Для каждой добавленной функции веб сервиса 1С, в свойствах нужно создать обработчик, так же, как мы это делали в командах 1С, подписках на событиях 1С и так далее.

Именно эта функция 1С будет выполняться при вызове метода веб сервиса 1С. Не забывайте, что выполняться она будет на сервере 1С. Файловый режим работы 1С с веб-сервисами не рекомендуется.
Функция обычно возвращает какие-либо данные. Обычно указывают тип string и возвращают строку XML.

Строку XML можно сформировать с помощью объектов языка 1С для работы с XML – ДокументDOM и ФабрикаXDTO, а можно просто составить текстовую строку, в которой хранится текст XML.
Публикация web сервиса 1С
Как мы говорили раньше, другие программы должны «знать», что веб сервис 1С существует, имеет такой вот список методов и так далее.
Описание должно лежать на веб сайте. Для этого нужно:
- Иметь веб сайт
- В свойствах web сервиса 1С указать имя файла с расширением 1cws, который является ссылкой на WSDL описание
- Выложить этот файл на веб сайт в конфигураторе с помощью пункта меню Администрирование/Публикация на веб-сервере.
Далее нужно проверить доступность и корректность файла. Для этого зайдите в Internet Explorer по адресу
http://www.ИмяСайта.ru/ПутьНаСайте/ИмяФайла.1cws?wsdl
Браузер должен отобразить некий файл XML (пример файла WSDL здесь http://ru.wikipedia.org/wiki/WSDL), а не ошибку, не пустую страницу и не невнятный текст на любой кодировке.

После успешной публикации web сервис 1С можно использовать. Для этого в другой программе нужно использовать данный интернет адрес для ссылок на веб сервис 1С.
Например, Visual Studio позволяет для любого языка (C++, C#, Visual Basic) – включить в проект web сервис 1С по его WSDL описанию и сгенерировать класс для использования веб-сервиса 1С.
Проголосовать за этот пост:
