Как проверить публикацию веб сервиса 1с

Веб сервисы в 1С 8.3 — настройка, пример создания и обращения

Web-сервис в 1С 8.3 и 8.2 — объект метаданных, позволяющий интегрировать платформу 1С с другими информационными системами при помощи сервис-ориентированной архитектуры (SOA).

веб сервисы в конфигураторе
1С умеет как публиковать свои веб-сервисы, так и использовать веб-сервисы других информационных систем с помощью WS-ссылок.

Для публикации своих веб-сервисов необходимы: рабочий веб-сервер (IIS или Apache) и созданные в метаданных веб-сервисы. Пример обращения к веб-сервису 1С и множество другой полезной информации можно увидеть в данной статье.

Пример создания и настройки web-сервиса в 1С

Рассмотрим создание и настройку на примере веб-сервиса, позволяющего производить двухсторонний обмен между базами 1С 8 по средству SOAP.

Для начала обратим внимание на вкладку Прочее:

Настройка веб сервиса 1С 8.2

  • В поле URI пространства имен описывается расположение идентификатора ресурса.
  • Пакеты XDTO — описание типов, с которыми сможет работать будущий веб-сервис.
  • Имя файла публикации — название файла *.1CWS, который будет размещен на веб-сервере

Структура веб-сервиса 1С

Атрибуты веб сервиса

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

DataExchange — сам web-сервис. UnloadData, LoadData — операции, по сути, описание функций, которые можно вызывать по протоколу SOAP. ExchangePlanName, NodeCode и т.д. — передаваемые веб-сервису значения.

Модуль веб-сервиса

В модуле закладывается самое интересное — описание функций будущего веб-сервиса. В нашем случае мы описываем функционал, позволяющий получать и отправлять данные, используя стандартные механизмы обмена 1С. Т.к. обмен идёт между одной платформой — 1С, то они не требуют сериализации данных.

Проверка работы http сервиса 1С на веб-сервере

Сделать это очень просто — после публикации достаточно вбить адрес веб-сервера 1С в браузер в таком формате:

wsdl

Если Вы увидите что-то вроде этого, Вы на правильном пути, и веб-сервис опубликован на сервере верно.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Веб-сервисы 1С: создание и публикация

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

Создание web сервиса 1С

Для начала нам необходимо сделать функцию доступной внешнему программному обеспечению. Для этого выполняем несколько шагов:

  1. заходим в конфигурацию и добавляем объект WEB-сервис;
  2. описываем все операции, которые сможет выполнять наш функционал;
  3. добавляем описание параметров функций веб-сервиса;
  4. публикуем созданный WEB-сервис на сервере.

Механизм, встроенный в платформу 1С, поддерживает стандарты SOAP, WSDL, HTTP, SSL/TLS, WS-I BP.

Допустим нам нужно создать функционал, определяющий длину введенной строки. Программное обеспечение передаст в качестве параметра запроса строку, а функция, описанная в 1С, вернет число символов. Чтобы не возникло проблем с кириллицей, будем называть объекты конфигурации, используя латинские знаки.

Открываем конфигуратор, находим в дереве ветку «WEB-сервисы» и добавляем новый сервис «wa_LengthString». Также необходимо на вкладке «Операции» добавить новую операцию. Назовем ее «CalcLengthString», в свойствах укажем тип возвращаемого значения – int или integer и создадим внутри нее параметр «InputString». Тип значения оставляем string.

web сервисы 1c

Далее прописываем действие функции CalcLengthString в модуле WEB-сервиса.

Открываем свойства созданной функции и нажимаем кнопку в виде лупы справа, у поля ввода «Имя процедуры». 1С автоматически создаст функцию в модуле нашего WEB-сервиса и откроет его для того, чтобы мы описали действие CalcLengthString. Напишем действие функции – определение длины вводимой строки.

создание веб сервисов 1С

Простой web сервис 1С создан. Теперь нам нужно опубликовать его.

Публикация веб сервиса 1С

Разумеется, для начала получаем доступ к сайту. Перед публикацией проверяем имя файла в свойствах созданного модуля wa_LengthString. Оно должно быть понятное, простое и иметь расширение «1cws».

публикация веб сервисов 1С

Теперь нужно опубликовать созданный WEB-сервис на сервере. Для того чтобы приступить к процедуре, необходимо в конфигураторе открыть форму «Администрирование/Публикация на веб-сервере…».

публкация web сервисов 1С

В открывшемся окне нам необходима настройка Web сервисов 1С. Поля заполняем следующим образом:

  • Имя. Обозначает папку на веб-сервере, в которой будет храниться описание нашего веб-сервиса. Серверы могут различать верхний и нижний регистр, поэтому будьте внимательны.
  • Веб-сервер. Выбираем сервер из установленных на компьютере.
  • Каталог. Выбираем путь к папке, где хранятся данные веб-сервера по настройке подключения. Используем только латиницу.
  • Два признака типа «Булево». Первый нам пригодится, если необходимо настроить доступ через веб-клиент к конфигурации. Для того чтобы опубликовать сервис 1С, необходимо поставить вторую отметку.

Далее останется только проверить, что у нужного WEB-сервиса установлена галка в первом столбце, и нажать на «Опубликовать».

опубликовать веб сервис 1С

Проверить, опубликован ли ваш веб сервис 1С на сервере, достаточно просто. Запускаем любой браузер и в адресную строку вбиваем строчку типа:

В ответ на запрос адреса браузер должен отобразить структуру файла XML. Если же вы видите пустую страницу, ошибку или непонятные символы, нужно еще раз пошагово проверить все действия. Кроме того, не забудьте убедиться, что сервер правильно настроен, и у вас есть к нему доступ. После успешной публикации WEB-сервис 1С смогут использовать сторонние приложения.

Как оптимизировать работу с программой, не отвлекая программистов от стратегических задач?

Многие действия с 1С действительно можно выполнить по инструкции. Однако, при недостаточном опыте и понимании это занимает много времени да и не исключен риск ошибки с серьезными последствиями. Имеющиеся специалисты 1С, разумеется, без труда решают подобные задачи, только вот отвлекать их от более стратегических задач попросту нецелесообразно.

Вот почему многие компании предпочитают обращаться не только за внедрением и настройкой, но и за сопровождением 1С к сторонним предприятиям.

Почему это выгодно?

  • Вы не принимаете людей в штат. То есть вам не нужно готовить очередное рабочее место и раскошеливаться на больничные и отпускные.
  • Вы не зависите от одного человека. Специалисты сторонних компаний тоже болеют и отдыхают, только вот вы даже не успеваете этого заметить — их тут же заменяют другие сотрудники.
  • Все работы имеют дополнительный уровень проверки. Всегда ли у руководителя достаточно знаний для того, чтобы оценить качество выполненной работы? А вот в специализированных компаниях всегда есть вышестоящий проверяющий.

Мы приглашаем вас обращаться за внедрением, сопровождением и разработкой под 1С к нам, в компанию «ПРОГРАММЫ 93». Позвоните по номеру, указанному на сайте или заполните форму обратной связи и наши сотрудники сориентируют вас по стоимости услуг, помогут подобрать подходящее решение и расскажут, как начать сотрудничество.

Публикация базы данных и веб-сервисов 1С Документооборот

Для публикации базы данных «1С:Документооборот» запустите «Конфигуратор» и выберите пункт «Администрирование \ Публикация на веб-сервере».

Выберите имя (англоязычное) базы данных, которое станет именем приложения на веб-сервере IIS. Например, для системы документооборота можно указать название «doc». Далее отметьте флажки публикации веб-сервисов и нажмите «Опубликовать».

Публикация 1С Документооборот на веб-сервере IIS

Важно. Для корректной публикации рекомендуем выполнять запуск «Конфигуратора» с правами администратора. Для этого можно отметить флажок «Run as administrator» в свойствах пиктограммы «1С:Предприятие 8.3» либо запустить через выбор пункта «Run as administrator» в контекстном меню, либо запустить «1С» из командной строки, ранее запущенной с правами администратора.

Запуск Конфигуратора 1С

Если при публикации из «Конфигуратора» не было административных прав, то при публикации базы данных файл web.config может не создаться, также возможно появления сообщения о том, что база данных не опубликована либо других ошибок.

После публикации проверьте в папке C:\inetpub\wwwroot\doc наличие двух файлов default.vrd и web.config

4. Настройка приложения IIS

После публикации базы данных из «Конфигуратора» необходимо запустить средство администрирования веб-сервера «Internet Information Server Manager». Запустить его можно, например из «Server Manager» в разделе «IIS», далее на нужном веб-сервере правой кнопкой мыши и «Internet Information Server (IIS) Manager»

Откройте свойства вашего приложения (ранее мы назвали его «doc»). Найдите раздел «MIME Types» и добавьте туда две записи (для базы данных и для веб-сервисов):
.1crs — text/xml
.1cws – text/xml

Пример показан на рисунке ниже (обратите внимание на то, что у приложения doc должен присутствовать и раздел ASP.NET

Настройка MIME для IIS 1C

Теперь необходимо разрешить работу веб-сервера с 32-битными приложениями и библиотеками. Для этого идем в раздел «Application Pools» и для «DefaultAppPool» в «Advanced settings» включаем «Enable 32-Bit Applications»

Для работы веб-сервера IIS с «1С:Предприятие 8» необходимо, что бы был указан корректный путь к библиотеке wsisapi.dll нужной версии платформы «1С».

В разделе Handler Mappinigs проверяем наличие корректного пути к C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll

Важно. Путь должен быть указан до корректной версии «1С:Предприятие 8». При обновлении платформы необходимо также проверять и корректировать значение пути к библиотеке wsisapi.dll

Для обработки запросов к базе данных и веб-сервисам необходимо в нашем приложении «doc» создать записи в разделе «Handler Mappinigs». Для этого выбираем пункт «Handler Mappinigs» в нашем приложении и нажимаем кнопку «Add Script Map»

Путь к wsisapi.dll

Создадим две записи. Первая запись будет для приложения
Request path: *.1crs
Executable: C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll
Назовем нашу запись «1C Enterprice crs» (название может быть другим, но уникальным) и дадим ей права на выполнение. Для этого нажмем «Request Restriction», далее на закладке «Access» отметим флажок «Execute»

Веб-сервисы на IIS

Создадим вторую запись для веб-сервисов базы данных:
Request path:*.1cws
Executable:C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll
Назовем её «1C Enterprice cws»

Теперь для каждого созданного скрипта нужно проверить и при необходимости установить разрешение на его запуск. Нажимаем правой клавишей мышки на каждом созданном скрипте
и в разделе «Edit feature permissions» проверим флажок «Execute» (он должен быть включен).

Настройка IIS

В разделе «Authentification» приложения «doc» проверяем, что включен ли анонимный режим. Значение «Anonymous Authentification» должно быть «Enabled»

Настройка IIS для работы с 1С

Основные настройки веб-сервера IIS на этом завершены. Вы можете попробовать открыть базу данных на сервере указав путь https://localhost/doc в вашем браузере.

По умолчанию Windows Server 2012 запрещает доступ к веб-сайтам из интернета, поэтому опубликованная база данных будет доступна только из внутренней интрасети. Для доступа из внешней сети Интернет необходимо создать в файерволе правило, позволяющее такой доступ. Для этого откройте «» и создайте правило для 80 порта протокола TCP

Открытие порта для IIS

Если при открытии опубликованной базы данных появляются сообщения об ошибках веб-сервера, например «A potentially dangerous Request.Path value was detected from the client» или не все пиктограммы подсистем отображаются корректно, то выполните дополнительную настройку опубликованной базы данных.

Для настройки откройте файл web.config, который располагается в каталоге C:\inetpub\wwwroot\doc и добавьте следующие разделы:

a) В раздел system.webServer добавьте (например, перед закрывающим тегом </system.webServer> следующие строки:

<security>
<requestFiltering allowDoubleEscaping=»true» />
</security>

б) В раздел configuration (перед закрывающим тегом <configuration>) добавьте:

<system.web>
<pages validateRequest=»false» />
<httpRuntime requestPathInvalidCharacters=»» />
</system.web>

После выполнения таких настроек рекомендуем перезапустить веб-сервер IIS. Выполнить перезапуск можно из консоли администрирования веб-сервера нажав в ней кнопку «Refresh».

Публикация базы 1С и HTTP-сервиса в интернете на IIS

Настрою вашу 1С. Опыт с 2004 года. Подробнее →

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

Что касается HTTP-сервиса, то это более специфический функционал, кто понимает, что такое HTTP REST API, то уже может представить, что это такое. Если кратко, то HTTP-сервисы предназначены для программного обмена информацией между интернет-ресурсами, например, в моей статье про Скайп-боты в 1С HTTP-сервис обязательно нужен – он выполняет функции приема и обработки сообщений которые отправляются Боту в Скайпе от человека.

Данная статья представлена в виде видео-инструкции:

Публикация 1С на IIS

Устанавливаем веб-сервер Microsoft IIS (Internet Information Services)

Веб-сервер рекомендую устанавливать на серверной операционной системе, в моем случае это был Microsoft Windows Server 2012 R2.

Веб-сервер IIS можно устанавливать на рабочем сервер даже с активными RDP подключениями других пользователей, не бойтесь, их не выкинет из сервера 🙂

Диспетчер серверов (2)

Мастер добавления ролей и компонентов IIS (3)

Выбор служб ролей (4)

Если вы решили установить IIS на Windows 10 (7, 8), то установка IIS будет примерно такая же, только там не будет оснастки «Диспетчер серверов», вместо этого нужно зайти в Панель управления – Удаление программ, далее слева ссылка – «Включение и отключение компонентов Windows», ставим флаг напротив «Службы IIS», далее установите флаги как было описано выше.

Включение и отключение компонентов Windows 10 установка IIS (5)

Проверяем корректность установки веб-сервера IIS, для этого запускаем интернет-браузер, например, Хром и в адресной строке указываем локальный адрес текущего сервера: http://127.0.0.1, если всё сделано правильно, то откроется главная страница веб-сервера IIS.

Главная страница веб-сервера IIS 127.0.0.1 (6)

Чтобы открыть панель управления веб-сервером IIS, перейдите в Панель управления компьютером, далее кнопка Просмотр – Категория – Мелкие значки, кликаем по «Администрирование».

Панель управления меню Администрирование (7)

Открываем ярлык – «Диспетчер служб IIS».

Диспетчер служб IIS (8)

Обратите внимание на разрядность установленной платформы 1С — х64:

Платформа 1С х64 (14)

После того как вы поняли какая разрядность у вашей платформы 1С (х32 или как на скриншоте выше – х64), в диспетчере служб IIS выберите «Пулы приложений», один раз кликните левой кнопкой мыши по «DefaultAppPool» и справа нажмите ссылку «Дополнительные параметры», далее в строке «Разрешены 32-разрядные приложения» должность стоять False, а если платформа 1С у вас была бы не х64, т.е. х32, то здесь должно быть установлено значение True.

DefaultAppPool Разрешены 32-разрядные приложения (15)

Заранее имейте ввиду, если после публикации 1С на веб-сервере вы откроете 1С в веб-браузере, далее откроете список документов и получите ошибку «Обнаружено потенциально опасное значение Request.Path, полученное от клиента (:)», то в настройках «DefaultAppPool» рядом с «Разрешены 32-разрядные приложения» есть строка «Режим управляемого контейнера», он должен быть «Classic».

Режим управляемого контейнера (16)

Публикуем базу 1С на веб-сервере IIS

Кликаем по ярлыку 1С правой кнопкой мыши и выбираем пункт – «Запуск от имени администратора».

Запуск 1С от имени администратора (9)

Запускаем нужную базу 1С в режиме конфигуратора. Внимание! Конфигурация 1С должна быть на управляемых формах, иначе публикация будет бессмысленная, например, Управление торговлей редакции 11.х можно публиковать и иметь к ней доступ через веб-браузер, а Управление торговлей редакции 10.х нельзя. Но это не касается HTTP-сервисов, если вы создадите свой HTTP-сервис в Управление торговлей редакции 10.х, то он будет работать.

В конфигураторе нажмите кнопку меню Администрирование – Публикация на веб-сервере. Далее кнопку «Опубликовать». Только запомните название публикации, в моем случае (на скрине ниже) – «DemoTrd».

Публикация 1С на веб-сервере (10)

Может появиться просьба перезапустить веб-сервер IIS, соглашаемся.

Если база файловая:

Файловая база 1С (11)

То может отобразиться предупреждение при публикации на веб-сервере:

Права пользователя IUSR (12)

Дайте полные права пользователю IUSR на директорию в которой установлена база 1С (адрес директории отображается в окне с ошибкой о правах см. выше или в окне «О программе» также смотрите выше).

Полные права пользователю IUSR на директорию базы 1С (13)

Теперь можете проверить работу 1С в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd

Если всё сделали правильно, то откроется база 1С.

База 1С через веб-браузер (17)

Публикуем HTTP-сервис 1С на веб-сервере IIS

Давайте по-быстрому создадим свой HTTP-сервис который будет просто возвращать слова «Всё хорошо!» при обращении к нему через обычный веб-браузер.

Советую более наглядно это посмотреть в моей видео-инструкции:

Публикация 1С на IIS

В конфигураторе создаем новый HTTP-сервис, с шаблоном по умолчанию и одним GET методом у которого будет обработчик такого вида:

Обрабочик HTTP-сервиса на 1С (18)

Обновим нашу публикацию на веб-сервере, для этого снова нажмите в меню Администрирование – Публикация на веб-сервере, убедитесь, что на закладен HTTP-сервисы установлен флаг на против нашего HTTP-сервиса:

Публикация HTTP-сервиса 1С на веб-сервере IIS (19)

Нажимаем «Опубликовать». Должно появиться сообщение – «Публикация обновлена».

Теперь можете проверить работу опубликованного HTTP-сервиса в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd/hs/test где «test» это корневой URL HTTP-сервиса, в итоге, если всё настроено верно, то получим сообщение «Все хорошо». Единственное, браузер может попросить указать логин и пароль пользователя из базы 1С.

Логин и пароль пользователя 1С (20)

Доступ к вашей базе 1С из любой точки земли и интернета

Если IP адрес вашего сервера внешний и статический (это можно узнать у вашего системного администратора и интернет-провайдера), то открывать вашу базу 1С и HTTP-сервис через интернет можно будет с любого компьютера подключенного к интернету, для этого в интернет-браузере вводите внешний статический IP-адрес сервера вместо 127.0.0.1 в адресах указанных выше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *