1с публикация ошибка 404

Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.

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

В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux  без графической оболочки,  то публикация через привычное окно конфигуратора становится невозможной.

Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.

О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.

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

Итак, что делать, если не получается опубликовать веб-сервис 1С?

Список возможных ошибок:

1. Job for httpd.service failed because the control process exited with error code.

2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»

5. Ошибка HTTP 404 Not found

6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

Job for httpd.service failed because the control process exited with error code.

Полный текст ошибки:

Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details.

Описание ошибки:

После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.

Данное сообщение говорит о том, что процесс был завершен  с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.

Решение:

Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.

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

Разбор, которых приведен в статье далее.

Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

Полный текст ошибки:

сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf:

сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration

Описание ошибки:

Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.

Решение:

Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.

vim /etc/httpd/e1c/base.conf

Пример ошибочной строки. Команды forceHandler  — на самом деле не существует :

Alias «/base» «/var/www/e1c/base/»

<Directory «/var/www/e1c/base/»>

   AllowOverride All

   Options None

   Require all granted

   forceHandler 1c-application

   ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

</Directory>

Исправим файл. Укажем корректное наименвоание команды — SetHandler:

Alias «/base» «/var/www/e1c/base/»

<Directory «/var/www/e1c/base/»>

   AllowOverride All

   Options None

   Require all granted

   SetHandler 1c-application

   ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

</Directory>

Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

Полный текст ошибки:

Начат процесс запуска юнита httpd.service.

сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf:

сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration

сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE

сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server.

— Subject: Ошибка юнита httpd.service

Описание ошибки:

Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».

В этом можно убедиться выполнив команду.

cat /etc/httpd/conf/httpd.conf | grep wsap

Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует  —  модуль не прописан.

Решение:

Отредактировать конфигурационный файл httpd.conf

vim /etc/httpd/conf/httpd.conf

Добавить строку:

LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so»

Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»

Полный текст ошибки:

cat /var/log/httpd/error_log

Описание проблемы:

При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») —  сеанс не запускается.

Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).

Решение:

1. Убедиться, что selinux, действительно, работает.

Если видим Enforcing, значит переходим к следующему пункту.

2. Отключить selinux:

3. Проверить, что настройка выполнена.

Permissive – включен, но ничего не запрещает.

Enforcing – включен, работает, и запрещает.

Ошибка HTTP 404 Not found

<strong>Пример полного текста ошибки:</strong>

404 Error in Request. HTTP Status: 404 Not found

<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» />

HTTP 404 Not found

The webpage cannot be found

Описание:

После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.

Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.

Решение:

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

Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.

Проверить имена публикации базы(выделено):

1. Конфигурационный файл *.conf:

vim /etc/httpd/e1c/base.conf

следующего содержания:

Alias «/base» «/var/www/e1c/base/»

<Directory «/var/www/e1c/base/»>

AllowOverride All

Options None

Require all granted

SetHandler 1c-application

ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

</Directory>

2. Конфигурационный файл публикации базы *.vrd

vim /var/www/e1c/base/default.vrd

следующего содержания:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<?xml version=»1.0″ encoding=»UTF-8″?>

<point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

xmlns:xs=»http://www.w3.org/2001/XMLSchema»

xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

base=»/base»

ib=»Srvr=1s-on-1c-1; Ref=base»>

<ws>

<point name=»ws_1s_on_1″

alias=»ws_1s_on_1.1cws»

enable=»true»/>

<point name=»ws_1s_on_2″

alias=»ws_1s_on_2.1cws»

enable=»true»/>

</ws>

</point>

point name – имя сервиса в конфигураторе;

alias – это имя ссылки, по которой будем обращаться к веб-сервису.

Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws

Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

Пример полного текста ошибки:

Описание:

При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

Решение:

Проверить имена веб-сервисов и ссылок на них.

    1. Конфигурационный файл публикации базы *.vrd

vim /var/www/e1c/base/default.vrd

следующего содержания:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<?xml version=»1.0″ encoding=»UTF-8″?>

<point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

xmlns:xs=»http://www.w3.org/2001/XMLSchema»

xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

base=»/base»

ib=»Srvr=1s-on-1c-1; Ref=base»>

<ws>

<point name=»ws_1s_on_1″

alias=»ws_1s_on_1.1cws»

enable=»true»/>

<point name=»ws_1s_on_2″

alias=»ws_1s_on_2.1cws»

enable=»true»/>

</ws>

</point>

point name – имя сервиса в конфигураторе;

alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.

В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.

Содержание

  1. web-сервис и ws-ссылка ошибка
  2. Сервис не найден.
  3. Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
  4. web-сервис и ws-ссылка ошибка
  5. Сервис не найден.
  6. Решение проблем интеграции с Порталом 1С:ИТС
  7. Содержание
  8. 1. Общие действия
  9. 2. Если у пользователя не работают услуги портала.
  10. Симптомы проблемы
  11. Решение
  12. 3. Расхождение данных портала и менеджера сервиса
  13. 4. Подписки перестали отправляться в портал
  14. 5. Устранение причин непринятия подписок порталом
  15. 5.1. Бизнес-ошибки
  16. Пример ошибки
  17. Решение
  18. Пример ошибки
  19. Решение
  20. Пример ошибки
  21. Решение
  22. 5.2. Технические ошибки
  23. Пример ошибки
  24. Решение
  25. Симптомы проблемы
  26. Решение

web-сервис и ws-ссылка ошибка

Здравствуйте, нужна помощь.

Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:

начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу

далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.

Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:

а если я ввожу . /ws/ws2.1cws?wsdl выходит:

Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.

Сервис не найден.

нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:

Источник

Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.

Бьюсь уже полдня((

Галка «Публиковать HTTP сервисы расширений по умолчанию стоит», в default.vrd вроде все норм, пробовал прописывать сервис вручную в default.vrd — не помогает.

Перезапускал сервер 1С, IIS раз 20. Создавал новые http-сервисы с другими именами, все так же 404.

Причем http сервисы из конфигурации как работали до манипуляций, так и работают.

Где вообще можно посмотреть при флаге publishExtensionsByDefault=»true» куда он обращается, как IIS понимает к какому http-сервису расширения конфигурации идет обращение, если сам http-сервис в default.vrd не прописан?

Платформа 8.3.18.1363 х64

Млииин. Ларчик просто открывался. фейспалм.. посыпаю голову пеплом(

С утра уже все кеши почистил, как советовали, ничего не заработало. Я в отчаянии стал такое же расширение создавать на рабочей сервере с другим IIS — вдруг взлетит.

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

В итоге как оказалось — мое расширение тупо не работало, я нажимал применить на базу, но оно не применялось, а 1С предупреждает о том, что оно не применилось только когда зайдешь в режиме предприятия (а я туда не заходил за ненадобностью), а в режиме конфигуратора оно только молча дает ошибку в ЖР и типа все норм.

Источник

web-сервис и ws-ссылка ошибка

Здравствуйте, нужна помощь.

Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:

начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу

далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.

Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:

а если я ввожу . /ws/ws2.1cws?wsdl выходит:

Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.

Сервис не найден.

нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:

Источник

При интеграции с порталом и использовании услуг портала возможно возникновение проблем или ошибок, например:

У пользователя не работает услуга портала.

Подписки перестали отправляться в портал.

  • Расхождение данных портала и менеджера сервиса.
  • При возникновении ошибки с кодом ответа портала 500 в любой из перечисленных выше ситуаций следует обращаться на webits-info@1c.ru, прикрепив к письму описание ошибки.

    Ниже описаны действия при возникновении других ошибок.

    Содержание

    1. Общие действия

    Проверить актуальность расширения по интеграции с порталом ИТС для менеджера сервиса: команды меню Все функции — Управление расширениями конфигурации , расширение ИнтеграцияСПорталомИТС .

    Если версия расширения не последняя — обновить расширение. Актуальная версия расширения доступна в составе продукта 1С:Предприятие. Облачная подсистема Фреш на сайте releases.1c.ru

    Проверить основные настройки интеграции с порталом в менеджере сервиса: команды меню Интеграция — Учетные системы , учетная система Портал 1С:ИТС .

    2. Если у пользователя не работают услуги портала.

    При возникновении ошибок при работе с услугами портала, например не выполняется заполнение реквизитов контрагентов, необходимо выполнить следующие действия.

    Нужно проверить, отправлены ли портал следующие данные:

    Статус интеграции показывается в справочнике Абоненты (команда меню ОбслуживаниеАбоненты):

    И в форме свойств абонента (пункт меню формы Интеграция ):

    Статус интеграции показывается в справочнике Пользователи абонентов (команда меню ОбслуживаниеПользователи абонентов):

    И в форме свойств абонента (пункт меню формы Пользователи абонента ):

    Статус интеграции показывается в форме списка Подписки (команда меню Управление тарифамиПодписки):

    И в форме свойств подписки (пункт меню формы Интеграция ):

    Если какой либо из объектов не интегрирован и вместо значка указан значок , нужно проверить наличие ошибок в логе отправки. Лог отправки расположен в нижней части формы элемента после выбора пункта меню формы Интеграция :

    Нужно проверить, заполнен ли реквизит Идентификатор у обслуживающей организации, указанной в портале.

    Для этого нужно открыть карточку обслужи вающей организации в справочнике Абоненты :

    В поле Идентификатор нужно указать код партнера. Например, если Код партнера 000987-77, то указываем 000987, или 987

    Открыть форму свойств активной подписки клиента и проверить наличие нужной услуги на вкладке Услуги :

    Если услуги нет, возможно в тарифе указан некорректный тариф поставщика Портала 1С:ИТС.

    Симптомы проблемы

    В списке Подписки у новых подписок не появляются значки интеграции, либо долго висят значки «часиков» .

    В списке подписок не отправленные в портал подписки отображаются знаком .

    Решение

    Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:

      Дождаться освобождения очереди сообщений.

    Отправить сообщения интеграции принудительно. Для этого нужно:

    1. Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС) или переход по ссылке e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .

    Открыть карточку абонента, выбрать в ней команду меню Пользователи абонента , проверить состояние интеграции, показанное в левой колонке:

    Причины неотправки абонентов в основном технические, возможны разные ситуации:

    Вид данных Проверка
    Данные абонента
    Данные пользователей абонентов Письмо или звонок в отдел разработки Портала 1С:ИТС
    2 Письмо или звонок в отдел разработки Портала 1С:ИТС
    3 Письмо или звонок в отдел разработки Портала 1С:ИТС
    4

    Не удалось получить тикет аутентификации в Менеджере сервиса http://fresh:8888/int/sm/hs/tickets/

    Код состояния: 500. Сообщение:

    Область данных: 38 253

    Идентификатор пользователя: cd012524-30f1-11e8-80ce-8e51d7d8547d

    Повторить отправку, если не удалось — письмо или звонок в отдел разработки Портала 1С:ИТС

    3. Расхождение данных портала и менеджера сервиса

    Расхождение данных Портала 1С:ИТС и менеджера сервиса. Например: на портале на 10 подписок больше чем в менеджере сервиса.

    Причина состоит в непосредственном удалении объектов. Если объект Подписка, Абонент, Пользователь абонента был создан ошибочно и сразу удалён из менеджера сервиса как объект без пометки удаления, то сообщение на портал не отправляется.

    Чтобы объект также был удалён на портале, достаточно поставить пометку на удаление на соответствующий объект Подписки, Абонента или Пользователя абонента.

    4. Подписки перестали отправляться в портал

    Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:

      Дождаться освобождения очереди сообщений.

    Отправить сообщения интеграции принудительно. Для этого нужно:

    1. Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС)
      или переход по ссылке – e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .

    5. Устранение причин непринятия подписок порталом

    Для выяснения причин, почему подписка не была отправлена, нужно:

    1. Вывести карточку свойств подписки и выбрать команду меню Интеграция.
    2. Посмотреть описание состояния интеграции и лог отправки.

    Открыть описание объекта к отправке, показанное в списке Данные к отправке:

  • Вывести сообщение с подробным описанием ошибки, нажав кнопку в правой части поля Сообщение.
  • По этим сведениям можно понять причину, после чего нужно эту причину устранить. Возможные причины делятся на 2 типа:

    1. Бизнес-ошибка в подписке
    2. Техническая ошибка на Портале 1С:ИТС

    5.1. Бизнес-ошибки

    Бизнес-ошибки нужно устранять силами партнера, указав ее причины.

    На каждый запрос идет проверка по логину и паролю от конкретного экземпляра сервиса Фреш.

    Также выполняются проверки заполнения полей. Описание проверок приведены в п.6 документа Rest API Портала 1С:ИТС Fresh-Integration

    Ниже приведены примеры бизнес-ошибок.

    Пример ошибки

    Решение

    У обслуживающей организации указан код партнера отличный от числа. Нужно чтобы у обслуживающей организации код партнера был числом.

    Код партнера указывается в поле Идентификатор без последних цифр после «-«. Например, если Код партнера 000987-123, то указываем 000987, или 987 :

    Пример ошибки

    Решение

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

    Тарифы поставщиков услуг доступны с помощью команды меню Управление тарифамиТарифы поставщиков услуг или по ссылке e1cib/list/Справочник.ТарифыПоставщиковУслуг.

    Пример ошибки

    Решение

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

    Партнер или оператор сервиса должен создать новую подписку. Эту подписку нужно вернуть в исходное состояние или пометить на удаление, если она не актуальна.

    5.2. Технические ошибки

    Технические ошибки нужно устранять самостоятельно, либо, если ошибка не устраняется, нужно связаться с отделом разработки портала 1С:ИТС.

    Пример ошибки

    Решение

    В момент отправки сообщения в портал на портале 1С:ИТС производились технические работы и сообщение не смогло доставиться после 3-х попыток отправки.

    Нужно в карточке свойств объекта (например, подписки) выбрать команду меню Интеграция и открыть сообщение, показанное в списке Данные к отправке:

    В выведенной форме Объект к отправке нужно разблокировать сообщение, нажав на кнопку замка и затем на кнопку отправки сообщения :

    Если в сообщении отображается пиктограмка «часы» , это значит, что сообщение принято порталом и обрабатывается. Нужно подождать 2-5 минут, обычно после этого услуга уже будет доступна пользователю.

    Такая проблема может быть массовой. В этом случае нужно проделать те же действия, но с большим числом сообщений. Для этого нужно открыть форму учетной системы Портал 1С:ИТС ( Интеграция — Учетные системы , учетная система Портал 1С:ИТС ) и выбрать в ней команду меню Объекты к отправке :

    Здесь будут доступны те же кнопки и . Их можно использовать следующим образом:

    • Если в списке выделен один элемент, то операция будет выполнена для всех элементов списка.
    • Если в списке выделено несколько элементов, то операция будет выполнена только для выделенных элементов.

    Также в этом списке можно открывать отдельные объекты к отправке и выполнять их отправку из формы свойств объекта.

    Симптомы проблемы

    Сообщения отправляются в течение часа или более:

    Решение

    Ошибка проявляется на тестовых и боевых серверах.

      В инфраструктуре сервиса Портала 1С:ИТС идут какие-то нагрузочные тесты.

    Возможно, отправляемое сообщение содержит некорректный код партнера.

    Код партнера должен быть из существующих кодов партнера.

    Нужно установить обслуживающей организации существующий код партнера, например 987 или 456.

    Источник

    Как настроить HTTP-сервис в 1С: Предприятие 8 и опубликовать базу на веб-сервере Apache

    Эта публикация для быстрого доступа к информации по теме содания HTTP-сервиса на стороне 1С. С кратким замечанием по тому, какие трудности возникли на практике при настройке и работе.

    Сервис 1С:ИТС Информационная система

    Как выполнить первоначальную настройку сервиса в 1С:
    HTTP Сервисы: Путь к своему сервису. Часть 1 на сайте Infostart.ru — вариант «на практике»

    Информация от разработчика платформы, больше теории, но есть описание того, чего нет в вышеуказанной ссылке относительно настройки http-сервиса в 1С:
    Пример создания HTTP-сервисов на платформе «1С:Предприятие» — на сайте Сервис 1С:ИТС Информационная система.

    Используя две вышеуказанные статьи на сайтах можно выполнить настройку за 1 час.

    При «Публикации веб-сервере…» на сервере Apache 2.4 была проблема в том, что после того, как 1С внесла изменения в файл httpd.conf, то служба сервера Apache не запускалась. При подробном изучении проблемы было выяснено, что Apache не мог получить и загрузить исполняемый dll-файл 1С — wsap24.dll, который отвечает за совместную работу Apache и 1C:

    The Apache service named  reported the following error:
    >>> httpd.exe: Syntax error on line 169 of C:/Program Files/Apache24/conf/httpd.conf: Cannot load modules/wsap24.dll into server: The Apache service named xedxe5 xffxe2xebxffxe5xf2xf1xff xefxf0xe8xebxeexe6xe5xedxe8xe5xec Win32.

    169 строка файла имела содержимое: LoadModule _1cws_module «C:/Program Files (x86)/1cv8/8.3.9.2033/bin/wsap24.dll»

    1С 8 ошибка при настройке http-сервиса не запускается Apache после публикации

    Позже, благодаря поиску решения проблемы, было выявлено, что установленная версия Apache и 1С были различной разрадяности — x64 и x32 соответственно. Удаление и установка Apache 2.4 x32 разрядности устранило проблему. Теперь компонента wsap24.dll без проблем была подгружена веб-сервером и служба Apache без проблем была запущена.

    В решении вышеописанной проблемы помогло обсуждение на форуме сайта infostart.ru: Апач не стартует после публикации базы

    Далее, казалось бы, все проблемы решены. Но ожидала еще одна сложность, которую предстояло решить. Она имела следующий внешний вид и описание:

    «reason»:404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу /hs/ObmenSite/v1/parametr:»,»#inner»:»{http://v8.1c.ru/8.1/data/core}Exception»,»inner»:{«clsid»:»a01f465c-ed70-442e-ada5-847668d7a41c»,»descr»:»Текущему соединению с информационной базой не назначен сеанс»,»data»

    1С 8 Apache настройка http-сервиса ошибка ошибка descr: Текущему соединению с информационной базой не назначен сеанс, data

    Помог решить проблему комментарий, размещенный на странице сайта курсы-по-1с.рф — [ Интеграция ] Как настроить обмен 1С с интернет-сервисами 

    1С 8 Апач публикация на веб-сервере ошибка ошибка descr: Текущему соединению с информационной базой не назначен сеанс, data

    Т.е. если в базе не установлен ни один пользователь, то файл default.vrd не будет требовать правки. Но, как правило, в базах 1С 8 имеется список пользователей, поэтому необходимо указать пользователя с его паролем для доступа через http-сервис в файле настроек.  В соответствии с приведенным указанием данные пользователя и пароль были добавлены в соответствующий файл default.vrd, размещенный в каталоге, указанном как «Каталог» для публикации:

    1С 8 каталог публикации базы на веб-сервере, содержащий файл default.vrd

    1С 8 Апач публикация базы на веб-сервере ошибка "descr":"Текущему соединению с информационной базой не назначен сеанс","data"

    После проделанного изменения http-сервис, настроенный в 1С для теста, дал ответ:

    1С 8 Apache настройка http-сервиса и публикация базы на веб-сервере проблемы и ошибки при публикации

    Дополнительно по теме, в продолжении упоминания HTTP Сервисы: Путь к своему сервису. Часть 1 на сайте Infostart.ru:

    HTTP Сервисы: Путь к своему сервису. Часть 2 — рассматривается пример реализации из OData+HTTP-Сервис(Get)+СКД, рассматривается пример работы как в браузере, так и реализованной обработке с использованием разных версий платформ

    HTTP Сервисы: Путь к своему сервису. Часть 3 — описание других методов HTTP-Сервиса, таки[ как GET, HEAD, PUT, POST и других

    HTTP Сервисы: Путь к своему сервису. Часть 4 — в рамках HTTP-сервисов в 1С:Предприятии 8 рассматриваются вопросы про размер сообщений, файлы, порции и регламенты.

    Оцените, оказалась ли эта публикация полезна для Вас?




    © www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

    11-06-2019

    Журавлев А.С.
    (Сайт azhur-c.ru)

    Назад

    Я
       Slashman6667

    24.07.21 — 19:31

    Друзья, нужна помощь.

    Весь день мучаюсь, но так и не нашел решение.

    Задача — вызвать http-сервис.

    База опубликована, веб-сервисы(!!!) видны, сама база в браузере открывается… default.vrd и т.п. все настроено… Но именно http-сервис не работает.

    http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — путь в строке браузера.

    В чем может быть такая загвоздка?

       Смотрящий

    1 — 24.07.21 — 19:42

    Права на сервис какие и какой юзер?

       Slashman6667

    2 — 24.07.21 — 19:48

    (1) База файловая. Права на каталог базы полные у пользователя IUSR, также права даны полные на все места куда можно. IUSR также добавлен в группу IIS_IUSRS.

    Публикация из-под админа естественно делалась.

       Slashman6667

    3 — 24.07.21 — 19:57

    В 1С права само собой тоже полные

       Slashman6667

    4 — 24.07.21 — 20:02

    Просто еще раз для понимания.

    Вот например,

    http://localhost/MO/ws/exchange.1cws?wsdl — работает

    А то что через /hs/(http-сервисы именно) не пашет.

       Slashman6667

    5 — 24.07.21 — 20:03

    Ошибка HTTP 404.0 — Not found

    Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен.

       acht

    6 — 24.07.21 — 20:04

    (0) > В чем может быть такая загвоздка?

    В несовпадении корневого урла и шаблона сервиса со строкой запроса

       Slashman6667

    7 — 24.07.21 — 20:36

    (6)

    /{id_Reserve}/{id_ComplexReserve}/{EventType}/{ReserveState}/{ComplexState}/{EventDescription}/{CallbackId} — это шаблон

    HTTPCallback — корневой URL

    http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — строка запроса

    Что не так?

      

    Slashman6667

    8 — 24.07.21 — 20:46

    Все, вопрос решен… Но как я не понял… Просто перписал руками строку запроса заново))) Может какие-то символы были внутри другой раскладки… Фиг знает…

    ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

    Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
    Но вы можете создать новую ветку и вам обязательно ответят!
    Каждый час на Волшебном форуме бывает более 2000 человек.

    Содержание

    1. web-сервис и ws-ссылка ошибка
    2. Сервис не найден.
    3. Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
    4. web-сервис и ws-ссылка ошибка
    5. Сервис не найден.
    6. Решение проблем интеграции с Порталом 1С:ИТС
    7. Содержание
    8. 1. Общие действия
    9. 2. Если у пользователя не работают услуги портала.
    10. Симптомы проблемы
    11. Решение
    12. 3. Расхождение данных портала и менеджера сервиса
    13. 4. Подписки перестали отправляться в портал
    14. 5. Устранение причин непринятия подписок порталом
    15. 5.1. Бизнес-ошибки
    16. Пример ошибки
    17. Решение
    18. Пример ошибки
    19. Решение
    20. Пример ошибки
    21. Решение
    22. 5.2. Технические ошибки
    23. Пример ошибки
    24. Решение
    25. Симптомы проблемы
    26. Решение

    web-сервис и ws-ссылка ошибка

    Здравствуйте, нужна помощь.

    Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:

    начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
    ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу

    далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
    при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.

    Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:

    а если я ввожу . /ws/ws2.1cws?wsdl выходит:

    Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
    по причине:
    Ошибка работы с Интернет: внутренняя ошибка сервера (500).
    A server error occurred.

    Сервис не найден.

    нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:

    Источник

    Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.

    Бьюсь уже полдня((

    Галка «Публиковать HTTP сервисы расширений по умолчанию стоит», в default.vrd вроде все норм, пробовал прописывать сервис вручную в default.vrd — не помогает.

    Перезапускал сервер 1С, IIS раз 20. Создавал новые http-сервисы с другими именами, все так же 404.

    Причем http сервисы из конфигурации как работали до манипуляций, так и работают.

    Где вообще можно посмотреть при флаге publishExtensionsByDefault=»true» куда он обращается, как IIS понимает к какому http-сервису расширения конфигурации идет обращение, если сам http-сервис в default.vrd не прописан?

    Платформа 8.3.18.1363 х64

    Млииин. Ларчик просто открывался. фейспалм.. посыпаю голову пеплом(

    С утра уже все кеши почистил, как советовали, ничего не заработало. Я в отчаянии стал такое же расширение создавать на рабочей сервере с другим IIS — вдруг взлетит.

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

    В итоге как оказалось — мое расширение тупо не работало, я нажимал применить на базу, но оно не применялось, а 1С предупреждает о том, что оно не применилось только когда зайдешь в режиме предприятия (а я туда не заходил за ненадобностью), а в режиме конфигуратора оно только молча дает ошибку в ЖР и типа все норм.

    Источник

    web-сервис и ws-ссылка ошибка

    Здравствуйте, нужна помощь.

    Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:

    начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
    ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу

    далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
    при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.

    Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:

    а если я ввожу . /ws/ws2.1cws?wsdl выходит:

    Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
    по причине:
    Ошибка работы с Интернет: внутренняя ошибка сервера (500).
    A server error occurred.

    Сервис не найден.

    нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:

    Источник

    При интеграции с порталом и использовании услуг портала возможно возникновение проблем или ошибок, например:

    У пользователя не работает услуга портала.

    Подписки перестали отправляться в портал.

  • Расхождение данных портала и менеджера сервиса.
  • При возникновении ошибки с кодом ответа портала 500 в любой из перечисленных выше ситуаций следует обращаться на webits-info@1c.ru, прикрепив к письму описание ошибки.

    Ниже описаны действия при возникновении других ошибок.

    Содержание

    1. Общие действия

    Проверить актуальность расширения по интеграции с порталом ИТС для менеджера сервиса: команды меню Все функции — Управление расширениями конфигурации , расширение ИнтеграцияСПорталомИТС .

    Если версия расширения не последняя — обновить расширение. Актуальная версия расширения доступна в составе продукта 1С:Предприятие. Облачная подсистема Фреш на сайте releases.1c.ru

    Проверить основные настройки интеграции с порталом в менеджере сервиса: команды меню Интеграция — Учетные системы , учетная система Портал 1С:ИТС .

    2. Если у пользователя не работают услуги портала.

    При возникновении ошибок при работе с услугами портала, например не выполняется заполнение реквизитов контрагентов, необходимо выполнить следующие действия.

    Нужно проверить, отправлены ли портал следующие данные:

    Статус интеграции показывается в справочнике Абоненты (команда меню ОбслуживаниеАбоненты):

    И в форме свойств абонента (пункт меню формы Интеграция ):

    Статус интеграции показывается в справочнике Пользователи абонентов (команда меню ОбслуживаниеПользователи абонентов):

    И в форме свойств абонента (пункт меню формы Пользователи абонента ):

    Статус интеграции показывается в форме списка Подписки (команда меню Управление тарифамиПодписки):

    И в форме свойств подписки (пункт меню формы Интеграция ):

    Если какой либо из объектов не интегрирован и вместо значка указан значок , нужно проверить наличие ошибок в логе отправки. Лог отправки расположен в нижней части формы элемента после выбора пункта меню формы Интеграция :

    Нужно проверить, заполнен ли реквизит Идентификатор у обслуживающей организации, указанной в портале.

    Для этого нужно открыть карточку обслужи вающей организации в справочнике Абоненты :

    В поле Идентификатор нужно указать код партнера. Например, если Код партнера 000987-77, то указываем 000987, или 987

    Открыть форму свойств активной подписки клиента и проверить наличие нужной услуги на вкладке Услуги :

    Если услуги нет, возможно в тарифе указан некорректный тариф поставщика Портала 1С:ИТС.

    Симптомы проблемы

    В списке Подписки у новых подписок не появляются значки интеграции, либо долго висят значки «часиков» .

    В списке подписок не отправленные в портал подписки отображаются знаком .

    Решение

    Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:

      Дождаться освобождения очереди сообщений.

    Отправить сообщения интеграции принудительно. Для этого нужно:

    1. Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС) или переход по ссылке e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .

    Открыть карточку абонента, выбрать в ней команду меню Пользователи абонента , проверить состояние интеграции, показанное в левой колонке:

    Причины неотправки абонентов в основном технические, возможны разные ситуации:

    Вид данных Проверка
    Данные абонента
    Данные пользователей абонентов Письмо или звонок в отдел разработки Портала 1С:ИТС
    2 Письмо или звонок в отдел разработки Портала 1С:ИТС
    3 Письмо или звонок в отдел разработки Портала 1С:ИТС
    4

    Не удалось получить тикет аутентификации в Менеджере сервиса http://fresh:8888/int/sm/hs/tickets/

    Код состояния: 500. Сообщение:

    Область данных: 38 253

    Идентификатор пользователя: cd012524-30f1-11e8-80ce-8e51d7d8547d

    Повторить отправку, если не удалось — письмо или звонок в отдел разработки Портала 1С:ИТС

    3. Расхождение данных портала и менеджера сервиса

    Расхождение данных Портала 1С:ИТС и менеджера сервиса. Например: на портале на 10 подписок больше чем в менеджере сервиса.

    Причина состоит в непосредственном удалении объектов. Если объект Подписка, Абонент, Пользователь абонента был создан ошибочно и сразу удалён из менеджера сервиса как объект без пометки удаления, то сообщение на портал не отправляется.

    Чтобы объект также был удалён на портале, достаточно поставить пометку на удаление на соответствующий объект Подписки, Абонента или Пользователя абонента.

    4. Подписки перестали отправляться в портал

    Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:

      Дождаться освобождения очереди сообщений.

    Отправить сообщения интеграции принудительно. Для этого нужно:

    1. Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС)
      или переход по ссылке – e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .

    5. Устранение причин непринятия подписок порталом

    Для выяснения причин, почему подписка не была отправлена, нужно:

    1. Вывести карточку свойств подписки и выбрать команду меню Интеграция.
    2. Посмотреть описание состояния интеграции и лог отправки.

    Открыть описание объекта к отправке, показанное в списке Данные к отправке:

  • Вывести сообщение с подробным описанием ошибки, нажав кнопку в правой части поля Сообщение.
  • По этим сведениям можно понять причину, после чего нужно эту причину устранить. Возможные причины делятся на 2 типа:

    1. Бизнес-ошибка в подписке
    2. Техническая ошибка на Портале 1С:ИТС

    5.1. Бизнес-ошибки

    Бизнес-ошибки нужно устранять силами партнера, указав ее причины.

    На каждый запрос идет проверка по логину и паролю от конкретного экземпляра сервиса Фреш.

    Также выполняются проверки заполнения полей. Описание проверок приведены в п.6 документа Rest API Портала 1С:ИТС Fresh-Integration

    Ниже приведены примеры бизнес-ошибок.

    Пример ошибки

    Решение

    У обслуживающей организации указан код партнера отличный от числа. Нужно чтобы у обслуживающей организации код партнера был числом.

    Код партнера указывается в поле Идентификатор без последних цифр после «-«. Например, если Код партнера 000987-123, то указываем 000987, или 987 :

    Пример ошибки

    Решение

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

    Тарифы поставщиков услуг доступны с помощью команды меню Управление тарифамиТарифы поставщиков услуг или по ссылке e1cib/list/Справочник.ТарифыПоставщиковУслуг.

    Пример ошибки

    Решение

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

    Партнер или оператор сервиса должен создать новую подписку. Эту подписку нужно вернуть в исходное состояние или пометить на удаление, если она не актуальна.

    5.2. Технические ошибки

    Технические ошибки нужно устранять самостоятельно, либо, если ошибка не устраняется, нужно связаться с отделом разработки портала 1С:ИТС.

    Пример ошибки

    Решение

    В момент отправки сообщения в портал на портале 1С:ИТС производились технические работы и сообщение не смогло доставиться после 3-х попыток отправки.

    Нужно в карточке свойств объекта (например, подписки) выбрать команду меню Интеграция и открыть сообщение, показанное в списке Данные к отправке:

    В выведенной форме Объект к отправке нужно разблокировать сообщение, нажав на кнопку замка и затем на кнопку отправки сообщения :

    Если в сообщении отображается пиктограмка «часы» , это значит, что сообщение принято порталом и обрабатывается. Нужно подождать 2-5 минут, обычно после этого услуга уже будет доступна пользователю.

    Такая проблема может быть массовой. В этом случае нужно проделать те же действия, но с большим числом сообщений. Для этого нужно открыть форму учетной системы Портал 1С:ИТС ( Интеграция — Учетные системы , учетная система Портал 1С:ИТС ) и выбрать в ней команду меню Объекты к отправке :

    Здесь будут доступны те же кнопки и . Их можно использовать следующим образом:

    • Если в списке выделен один элемент, то операция будет выполнена для всех элементов списка.
    • Если в списке выделено несколько элементов, то операция будет выполнена только для выделенных элементов.

    Также в этом списке можно открывать отдельные объекты к отправке и выполнять их отправку из формы свойств объекта.

    Симптомы проблемы

    Сообщения отправляются в течение часа или более:

    Решение

    Ошибка проявляется на тестовых и боевых серверах.

      В инфраструктуре сервиса Портала 1С:ИТС идут какие-то нагрузочные тесты.

    Возможно, отправляемое сообщение содержит некорректный код партнера.

    Код партнера должен быть из существующих кодов партнера.

    Нужно установить обслуживающей организации существующий код партнера, например 987 или 456.

    Источник

    Автор Lilian, 14 сен 2015, 16:36

    0 Пользователей и 1 гость просматривают эту тему.

    Добрый день! При открытии в 1с 8.3 таких документов, как поступление товаров и услуг, реализация товаров и услуг, отчет комитентам, выскакивает дополнительное окно «ошибка НТТР 400». Если открывать, например, списание с расч. счета или ведомость на выплату з/п, таких проблем не возникает.
    При создании копии базы в процессе ее формирования выдает такое же сообщение и после продолжает копирование, как обычно.
    При формировании нового документа, например, поступления товаров и услуг, при выборе контрагента выдается аналогичное сообщение.
    Делалось тестирование и исправление, ситуация не изменилась.
    При загрузке более старых копий базы при открытии упомянутых ранее документов выдается такое же сообщение, например, выбираю базу полугодичной давности.
    Что можно сделать и как исправить данную ошибку?
    Заранее спасибо!


    Это ошибка проверки Контрагента по ИНН и КПП.
    Посмотри,не включена ли у тебя данная проверка:
    Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»


    Цитата: Raven от 14 сен 2015, 17:15
    Это ошибка проверки Контрагента по ИНН и КПП.
    Посмотри,не включена ли у тебя данная проверка:
    Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»

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


    Добрый день, номер платформы и релиза тут не при чем, ошибка возникает при обращении к веб-серверу ФНС. Может сервер у них упал, кто его знает.
    Скорее всего они в ближайшее время устранят, так что можно чуть чуть потерпеть.


    Всем доброго времени суток!
    Абсолютно аналогичная проблема на нашей фирме началась с понедельника (14.09.2015). Немного стало легче на душе когда почитал, что возможно случилась беда с веб-сервером ФНС. Да и скорее всего так и есть, мы тут у себя ничего не меняли. Подождем некоторое время, надеюсь все уладится.


    Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».


    Такая проблема возникла у всех моих клиентов после обновления платформы на 8.3.6.2299. При этом конфигурации разные, обновленные:
    1С:Подрядчик строительства 4.0. Управление финансами, редакция 3.0 (3.0.41.4), Бухгалтерия предприятия…


    Цитата: vsl89 от 16 сен 2015, 09:27
    Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».

    Он может быть в другом месте Администрирование — Поддержка и обслуживание — Работа с контрагентами.


    Теги:

    • Форум 1С

    • Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4

    • Конфигурирование, программирование в 1С Предприятие 8

    • 1C 8.3 — ошибка HTTP 404

    Похожие темы (5)

    Рейтинг@Mail.ru

    Rambler's Top100

    Поиск

    Показывать по
    10
    20
    40
    сообщений

    Новая тема

    Ответить

    Яна Блынская

    Дата регистрации: 17.09.2015
    Сообщений: 7

    Добрый день! У нас программа 1С:Предприятие 8.3 (8.3.6.2041) Конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.40.30). Последние две недели при формировании любого нового документа в программе (счет, реализация, счет-фактура и т.д.) и заполнении каждого реквизита в документе, появляется окно с надписью «Ошибка HTTP: HTTP Status (404)» (скрин прилагаю).
    С недавнего времени при запуске программы, она запрашивает установку обновленной версии, но мы пока ее не устанавливали. Не знаю, влияет ли это как-то или нет. Подскажите, что это значит и как избавиться от этой ошибки? Заранее спасибо!

    nemo888

    Дата регистрации: 24.08.2010
    Сообщений: 115

    К сожалению аналогичная ошибка возникает и в других конфигурациях например в БГУ ред.20 (релиз 2.0.33.35 ) файловый вариант
    Причем ошибка появилась действительно недавно.
    Связана она с проверкой контрагентов на сайте ФНС. Если в программе у вас включена такая функция(Администрирование-Настройка проверки контрагентов), то очевидно 1с не может достучаться до нужной страницы.Скорее всего изменился адрес сайта.
    Как вариант -отключить эту функцию в своей программе и ждать пока в 1с устранят эту ошибку.Возможно в самых последних релизах это уже сделали

    Яна Блынская

    Дата регистрации: 17.09.2015
    Сообщений: 7

    nemo888,большое спасибо за оперативный ответ!)

    Показывать по
    10
    20
    40
    сообщений

    Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.

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

    В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux  без графической оболочки,  то публикация через привычное окно конфигуратора становится невозможной.

    Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.

    О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.

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

    Итак, что делать, если не получается опубликовать веб-сервис 1С?

    Список возможных ошибок:

    1. Job for httpd.service failed because the control process exited with error code.

    2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

    3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

    4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»

    5. Ошибка HTTP 404 Not found

    6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

    Job for httpd.service failed because the control process exited with error code.

    Полный текст ошибки:

    Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details.

    Описание ошибки:

    После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.

    Данное сообщение говорит о том, что процесс был завершен  с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.

    Решение:

    Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.

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

    Разбор, которых приведен в статье далее.

    Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

    Полный текст ошибки:

    сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf:

    сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration

    Описание ошибки:

    Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.

    Решение:

    Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.

    vim /etc/httpd/e1c/base.conf

    Пример ошибочной строки. Команды forceHandler  — на самом деле не существует :

    Alias «/base» «/var/www/e1c/base/»

    <Directory «/var/www/e1c/base/»>

       AllowOverride All

       Options None

       Require all granted

       forceHandler 1c-application

       ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

    </Directory>

    Исправим файл. Укажем корректное наименвоание команды — SetHandler:

    Alias «/base» «/var/www/e1c/base/»

    <Directory «/var/www/e1c/base/»>

       AllowOverride All

       Options None

       Require all granted

       SetHandler 1c-application

       ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

    </Directory>

    Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

    Полный текст ошибки:

    Начат процесс запуска юнита httpd.service.

    сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf:

    сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration

    сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE

    сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server.

    — Subject: Ошибка юнита httpd.service

    Описание ошибки:

    Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».

    В этом можно убедиться выполнив команду.

    cat /etc/httpd/conf/httpd.conf | grep wsap

    Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует  —  модуль не прописан.

    Решение:

    Отредактировать конфигурационный файл httpd.conf

    vim /etc/httpd/conf/httpd.conf

    Добавить строку:

    LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so»

    Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»

    Полный текст ошибки:

    cat /var/log/httpd/error_log

    Описание проблемы:

    При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») —  сеанс не запускается.

    Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).

    Решение:

    1. Убедиться, что selinux, действительно, работает.

    Если видим Enforcing, значит переходим к следующему пункту.

    2. Отключить selinux:

    3. Проверить, что настройка выполнена.

    Permissive – включен, но ничего не запрещает.

    Enforcing – включен, работает, и запрещает.

    Ошибка HTTP 404 Not found

    <strong>Пример полного текста ошибки:</strong>

    404 Error in Request. HTTP Status: 404 Not found

    <img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» />

    HTTP 404 Not found

    The webpage cannot be found

    Описание:

    После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.

    Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.

    Решение:

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

    Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.

    Проверить имена публикации базы(выделено):

    1. Конфигурационный файл *.conf:

    vim /etc/httpd/e1c/base.conf

    следующего содержания:

    Alias «/base» «/var/www/e1c/base/»

    <Directory «/var/www/e1c/base/»>

    AllowOverride All

    Options None

    Require all granted

    SetHandler 1c-application

    ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

    </Directory>

    2. Конфигурационный файл публикации базы *.vrd

    vim /var/www/e1c/base/default.vrd

    следующего содержания:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

    xmlns:xs=»http://www.w3.org/2001/XMLSchema»

    xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

    base=»/base»

    ib=»Srvr=1s-on-1c-1; Ref=base»>

    <ws>

    <point name=»ws_1s_on_1″

    alias=»ws_1s_on_1.1cws»

    enable=»true»/>

    <point name=»ws_1s_on_2″

    alias=»ws_1s_on_2.1cws»

    enable=»true»/>

    </ws>

    </point>

    point name – имя сервиса в конфигураторе;

    alias – это имя ссылки, по которой будем обращаться к веб-сервису.

    Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws

    Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

    Пример полного текста ошибки:

    Описание:

    При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

    Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

    Решение:

    Проверить имена веб-сервисов и ссылок на них.

      1. Конфигурационный файл публикации базы *.vrd

    vim /var/www/e1c/base/default.vrd

    следующего содержания:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

    xmlns:xs=»http://www.w3.org/2001/XMLSchema»

    xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

    base=»/base»

    ib=»Srvr=1s-on-1c-1; Ref=base»>

    <ws>

    <point name=»ws_1s_on_1″

    alias=»ws_1s_on_1.1cws»

    enable=»true»/>

    <point name=»ws_1s_on_2″

    alias=»ws_1s_on_2.1cws»

    enable=»true»/>

    </ws>

    </point>

    point name – имя сервиса в конфигураторе;

    alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.

    В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.

    Logo_1c_8В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного, так и для 64-разрядного модуля расширения веб-сервера.

    0. Оглавление

    1. Что понадобится
    2. Установка веб-сервера IIS
    3. Установка компонент «1С:Предприятие»
    4. Настройка операционной системы
    5. Публикация базы данных на веб-сервере
    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
    8. Подключение к опубликованной информационной базе через веб-браузер
    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
    10. Конфигурационные файлы виртуального каталога
      1. Файл default.vrd
      2. Файл web.config

    1. Что понадобится

    1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
      • Microsoft Windows Server 2012 (R2)
      • Microsoft Windows Server 2008 (R2)
    2. Права локального администратора на данном компьютере.
    3. Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.

    2. Установка веб-сервера IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP
      • ASP.NET 3.5
      • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    Подробно про процесс развертывания веб-сервера IIS я писал:

    • В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:

    Ustanovka_IIS_8_Winsdows_Server_2012_13

    • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

    605

    3. Установка компонент «1С:Предприятие»

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    publikaciya_bd_na_web_server_IIS_23

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

    publikaciya_bd_na_web_server_IIS_31

    4. Настройка операционной системы

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:inetpubwwwroot ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    publikaciya_bd_na_web_server_IIS_01

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    publikaciya_bd_na_web_server_IIS_02

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    publikaciya_bd_na_web_server_IIS_03

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

    publikaciya_bd_na_web_server_IIS_04

    Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем  «Применить» (Apply) для сохранения изменений.

    publikaciya_bd_na_web_server_IIS_05

    Ну и наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS полные права на каталог с расположенными файлами данной информационной базы.

    publikaciya_bd_na_web_server_IIS_06

    5. Публикация базы данных на веб-сервере

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать.  Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

    publikaciya_bd_na_web_server_IIS_07

    Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:

    • Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации нажимаем «Опубликовать».

    publikaciya_bd_na_web_server_IIS_08

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

    Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже

    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    publikaciya_bd_na_web_server_IIS_10

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).

    publikaciya_bd_na_web_server_IIS_11

    В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).

    publikaciya_bd_na_web_server_IIS_12

    В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».

    publikaciya_bd_na_web_server_IIS_13

    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

    Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    publikaciya_bd_na_web_server_IIS_10

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.

    publikaciya_bd_na_web_server_IIS_19

    В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

    publikaciya_bd_na_web_server_IIS_32

    Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

    publikaciya_bd_na_web_server_IIS_33

    8. Подключение к опубликованной информационной базе через веб-браузер

    Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>. В данном примере это http://localhost/DemoAccounting/.

    publikaciya_bd_na_web_server_IIS_14

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.

    В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.

    dobavlenie-veb-sajta-v-spisok-nadezhnyx-uzlov-ie_09

    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

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

    publikaciya_bd_na_web_server_IIS_24

    В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».

    publikaciya_bd_na_web_server_IIS_25

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

    publikaciya_bd_na_web_server_IIS_26

    Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».

    publikaciya_bd_na_web_server_IIS_27

    Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.

    publikaciya_bd_na_web_server_IIS_28

    После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие».  Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.

    publikaciya_bd_na_web_server_IIS_30

    publikaciya_bd_na_web_server_IIS_29

    10. Конфигурационные файлы виртуального каталога

    Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).

    Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

    • default.vrd
    • web.config

    publikaciya_bd_na_web_server_IIS_15

    Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

    10.1. Файл default.vrd

    В файле default.vrd описываются опубликованные Web-сервисы (элемент <ws>), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:

    ib="File=&quot;C:1C_BASEDemoAccounting&quot;;"

    Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.

    publikaciya_bd_na_web_server_IIS_16

    В строке подключения можно указать логин и пароль пользователя. В этом случае, подключение к информационной базе будет выполняться от имени указанного пользователя. Например, для подключения от имени пользователя Продавец, строка подключения будет следующей:

    ib="File=&quot;C:1C_BASEDemoAccounting&quot;;Usr=Продавец;Pwd=123;"

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

    ib="Srvr=&quot;WIN2012&quote;;Ref=&quote;Accounting&quote;;"

    Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.

    publikaciya_bd_na_web_server_IIS_17

    Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.

    10.2. Файл web.config

    Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

    publikaciya_bd_na_web_server_IIS_18

    Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).

    publikaciya_bd_na_web_server_IIS_19

    В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).

    publikaciya_bd_na_web_server_IIS_20

    При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.

    publikaciya_bd_na_web_server_IIS_21

    Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).

    publikaciya_bd_na_web_server_IIS_22

    Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.

    Я уже писал статью с использованием HTTP-сервисов (Мобильный клиент + HTTP Сервис + Расширение конфигурации), но там было все сумбурно без объяснений, почему именно так. В данном цикле статей расскажу и покажу в примерах накопленный опыт в данном вопросе, и мы сделаем простой легко разворачиваемый каркас HTTP-сервиса.

    Примеры будут сделаны в расширении конфигурации, на платформе 8.3.10.2650. Для опытов установил ERP 2.4.3.145(Но вообще непринципиально, ставим любую свежую конфигурацию под 8.3.10). Так как параллельно в свободное время веду разработку универсального решения под названием Pretty API или «PAPI», расширение будет содержать данную аббревиатуру.

    Начнем.

    Почему http-сервис?

    А) HTTP сервисы на платформе 1С 8.3.5.1068 появились летом 2014 года, то есть 4 года назад, а Web-сервисы и того больше. Это кощунство не использовать их до сих пор.

    Б) На Хабре в официальном блоге Фирмы 1С есть статья Способы интеграции с 1С от 25 августа 2023, почитайте ее, особенно в части устаревших технологий.

    В) Геморрои с разными версиями и «comcntr.dll» забываем как страшный сон! Опубликовали и пользуемся, плюсом мы получаем Вэб клиент, мобильный клиент, легкое использование нашего сервиса другими программистами (собственно API) и другие пряники.

    Г) Скорость! Использую Com последние 3 года только для того чтобы показать сравнение со стандартным интерфейсом oData или http-сервисом. Когда люди видят вживую, они даже иной раз не верят, что обмен прошел!

    Это все равно, что ездить каждый год на поезде по 3 суток в сторону Сочи и вдруг слетать на самолете за 2,5 часа.

    !!! Использование технологии COM (доступно только на платформе Windows) !!!

    Д) С версии 8.3.7.1759 могут быть встроены через расширение, а с версии 8.3.9 плюсом к ним можно встроить модули для более простой работы с ними.

    E) Простота и гибкость разработки.

    Ж) Стагнация — это плохо! В работе можешь не использовать, но быть всегда готов. Нельзя стоять на месте, если пошел в IT сферу.

    Еще много чего можно перечислить. Минусы, тоже есть, но плюсов в разы больше.

    Самый главный минус. Нужно установить и настроить веб сервер (IISApache, 1С: Публикатор или 1С: Линк – Apache с интерфейсом для простого пользователя). Тут вот в чем проблема: Чаще всего администраторы почему-то не в состоянии это сделать, и приходится настраивать самому, либо они тупо устанавливают по дефолту и там начинаются пляски с бубном. Благо сейчас статей по настройки пруд пруди, ниже приведу парочку загугленных:

    Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5, в данной инструкции особенно выделю пункт 8.

    Настройка веб сервера Apache + 1С (Пошаговое руководство)

    Лично я использую IIS, но на вкус и цвет как говорится.

    Ближе к делу.

    Создадим демо конфигурацию для опытов и добавим в него расширение. Можно создавать все объекты и не в расширении, я просто показываю вариант без изменения конфигурации. (В расширении добавление HTTP-сервисов появилось с версии 8.3.7.1759.)

    Давайте перед созданием нашего HTTP-сервиса разберемся из чего складывается URL (подробнее описано на ИТС в главе 17.2.2. HTTP-сервисы):

    http://host/base/hs/корневойURL/относительныйURL?ПараметрыЗапроса

    host IP адрес или доменное имя веб сервера.

    base – Имя базы. Указывается при публикации.

    hs — признак того, что выполняется обращение к HTTP-сервису.

    корневойURL — имя ресурса, которое определяет группу ресурсов, связанных общим смыслом.

    относительныйURL — определяет ресурс, к которому будет выполняться обращение. Относительный URL, указанный в запросе, будет использован для определения конкретного ресурса, к которому выполнялось обращение. Правило сопоставления задается в объекте Шаблон URL.

    ПраметрыЗапроса Не всегда обязательные параметры передаются после знака «?», чаще всего дополнительные параметры или параметры выборки, например формат ответа(format=json или format=atom).

    Теперь по порядку:

    Создаем сервис и задаем ему корневойURL:

    Создаем Шаблон URL:

    При создании шаблона можно использовать следующие символы:

    Любые символы, допустимые в идентификаторах языка «1С:Предприятие».

    Символ «/»;

    Символы «{}» с непустым текстом между ними;

    Символ *.

    Наш шаблон выглядит следующим образом: /V1/{ИмяМетода}

    Где {ИмяМетода} является параметром. Параметр может состоять из букв, цифр и символа подчеркивания «_».

    Почему такой шаблон?

    Когда смотришь различные примеры, коих очень много в шаблоны запихивают параметры. Создают по несколько методов с разными параметрами. А зачем так делать?

    Вот пример с ИТС (17.2.2.3.2. Работа с документами):

    Видно, что создано два Шаблона с методом Get, но по большому счету отличаются они только тем, что один ищет по номеру документ, а второй выводит все.

    Все это можно реализовать одним методом, список или документ подавать в параметр ИмяМетода, а дополнительными параметрами передавать номер. А давайте сделаем!

    Добавляем метод GET.

    Берем код из примера ИТС.

     17.2.2.3.2. Работа с документами (Тестовый пример)

    Функция СписокGET(Запрос)
    Ответ = Новый HTTPСервисОтвет(200);
    Результат = "Расходная накладная, 1, 01.01.2014
    |Расходная накладная, 2, 01.01.2014";
    Ответ.УстановитьТелоИзСтроки(Результат);
    Возврат Ответ;
    КонецФункции
    Функция ДокументGET(Запрос)
    Ответ = Новый HTTPСервисОтвет(200);
    Номер = Число(Запрос.ПараметрыURL.Получить("number"));
    Если Номер > 2 Тогда
    Ответ.КодСостояния = 404;
    Ответ.УстановитьТелоИзСтроки("Отсутствует документ с номером: " + Номер);
    Иначе
    Если Номер=1 Тогда
    Ответ.УстановитьТелоИзСтроки("Расходная накладная, 1, 01.01.2014");
    Иначе
    Ответ.УстановитьТелоИзСтроки("Расходная накладная, 2, 01.01.2014");
    КонецЕсли;
    КонецЕсли;
    Возврат Ответ;
    КонецФункции

    Видоизменяем его и добавляем код обработки метода:

    Функция PrettyAPIGET(Запрос)
    Ответ = Новый HTTPСервисОтвет(200);
    
    ИмяМетода = Запрос.ПараметрыURL.Получить("ИмяМетода");
    
    Если ИмяМетода = "Список" Тогда
    Результат = "Расходная накладная, 1, 01.01.2014
    |Расходная накладная, 2, 01.01.2014";
    
    ИначеЕсли ИмяМетода = "Документ" Тогда
    //ПраметрыЗапроса - number
    ПарНомер = Запрос.ПараметрыЗапроса.Получить("number");
    Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
    Если Номер > 2 Тогда
    Ответ.КодСостояния = 404;
    Результат = "Отсутствует документ с номером: " + Номер;
    Иначе
    Если Номер = 1 Тогда
    Результат = "Расходная накладная, 1, 01.01.2014";
    Иначе
    Результат = "Расходная накладная, 2, 01.01.2014";
    КонецЕсли;
    КонецЕсли;
    Иначе
    Ответ.КодСостояния = 405;
    Результат = "Отсутствует Метод " + ИмяМетода;
    КонецЕсли;
    
    Ответ.УстановитьТелоИзСтроки(Результат,КодировкаТекста.UTF8);
    //Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
    Возврат Ответ;
    КонецФункции
    

    Выполняем публикацию нашего сервиса:

    Проверяем результат:

    1 Получим список. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Список

    Результат:

    Получаем какие-то «кракозябры»! Первый раз я нарвался на этот момент с кодировкой около 4-х лет назад, ну и так как на ИТС пример как раз приводит к этому, решил показать и рассказать, как исправить.

    Вы обратили внимание, что в коде функции PrettyAPIGET я оставил в самом конце закомментированную строку

    //Ответ.Заголовки.Вставить(«ContentType«,»text/html; charset=utf-8″);

    Разкомментируем ее и проверим, как теперь отработает наш сервис.

    2 Получим документ с номером 1. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Документ?number=1

    Результат:

    Важно: Хотелось бы обратить внимание на коды состояния из примера выше. Мне раза три в моей практике попадались API, которые всегда возвращали ответ с кодом 200 (200 OK («хорошо»)) и только в теле ответа, можно было понять, была ли ошибка. Это грубейшая ошибка разработчиков! Ну или это неуважение к конечному потребителю…

    Передавая ответ, не забывайте про коды состояния (Список кодов состояния)!

    Вот тут хороший пример по работе с ответом в зависимости от кода состояния, обратите внимание на ошибку с кодами 3XX.

    Как Вы видите, мы обошлись одним Шаблоном для той же задачи. По сути можно сделать некий универсальный каркас для HTTP-метода и решать любую задачу Интеграции.

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

    Сервис выполняет следующие действия:

    1. Получение входящих параметров и проверка их корректности
    2. Выполнение основных действий
    3. Формирование ответа

    Если посмотреть пример выше, то понимаем, что все идет в вперемешку, не структурированно. Отлаживать такой сервис не очень приятно!

    Я предпочитаю для HTTP-методов создавать отдельные модули и «Выполнение основных действий» осуществлять в созданном модуле. Создание отдельного модуля позволяет отлаживать HTTP-сервис через внешнюю обработку, это бывает необходимо при получении ошибки, которая говорит, что в коде есть ошибка, но отладка по HTTP не останавливается на точке остановы. Давайте «причешем» пример выше.

    Создадим модуль и переделаем «получение параметров» и «формирование ответа».

    Функция PrettyAPIGET(Запрос)
    СтруктураВхПараметров = Новый Структура;
    //Получаем имя метода
    перИмяМетода  = Запрос.ПараметрыURL["ИмяМетода"];
    //Помещаем имя метода в структуру
    СтруктураВхПараметров.Вставить("ИмяМетода",перИмяМетода);
    
    //Забираем параметры из запроса
    ВхПараметрыЗапроса = Новый Соответствие;
    Для каждого Параметр Из Запрос.ПараметрыЗапроса Цикл
    ВхПараметрыЗапроса.Вставить(Параметр.Ключ,Параметр.Значение);
    КонецЦикла;
    СтруктураВхПараметров.Вставить("ПараметрыЗапроса",ВхПараметрыЗапроса);
    
    //Передаем входящие параметры (Модуль для метода GET)
    СтруктураОтвет = PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET(СтруктураВхПараметров);
    
    //Создаем ответ с кодом состояния
    Ответ = Новый HTTPСервисОтвет(СтруктураОтвет.КодОтвета);
    Если СтруктураОтвет.Отработало Тогда
    Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ДанныеОтвета,КодировкаТекста.UTF8);
    Иначе
    Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ТекстОшибки,КодировкаТекста.UTF8);
    КонецЕсли;
    
    Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
    Возврат Ответ;
    КонецФункции
    

     Модуль PAPI_ОбработкаМетодовGET

    //Функция экспортная, специально чтобы можно было отлаживать как по HTTP(https://its.1c.ru/db/metod8dev#content:5756:hdoc)
    //Так и через внешнюю обработку
    Функция PAPI_ОбработкаМетодовGET(СтруктураВхПараметров) Экспорт
    //структура ответа. Собственна нужна для формирования ответа
    СтруктураОтвет = Новый Структура("ДанныеОтвета,Отработало,ТекстОшибки,КодОтвета","",Истина,"",200);
    
    //Переправляем на нужный метод
    Если ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Список") Тогда
    
    ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров);
    
    ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Документ") Тогда
    
    ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров);
    
    Иначе
    ЗаполнитьСтруктуруОтвета(СтруктураОтвет,405,"Отсутствует Метод " + ?(СтруктураВхПараметров.ИмяМетода=Неопределено,"",СтруктураВхПараметров.ИмяМетода),ложь,"");
    КонецЕсли;
    Возврат СтруктураОтвет;
    КонецФункции
    //Заполняем структуру ответа
    Процедура ЗаполнитьСтруктуруОтвета(СтруктураОтвет,КодОтвета,ТекстОшибки,Отработало,ДанныеОтвета)
    СтруктураОтвет.КодОтвета  = КодОтвета;
    СтруктураОтвет.ТекстОшибки = ТекстОшибки;
    СтруктураОтвет.Отработало = Отработало;
    СтруктураОтвет.ДанныеОтвета = ДанныеОтвета;
    КонецПроцедуры
    
    //МЕТОДЫ
    Процедура ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров)
    Результат = "Расходная накладная, 1, 01.01.2014
    |Расходная накладная, 2, 01.01.2014";
    СтруктураОтвет.ДанныеОтвета = Результат;
    КонецПроцедуры
    
    Процедура ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров)
    //ПраметрыЗапроса - number
    ПарНомер = СтруктураВхПараметров.ПараметрыЗапроса.Получить("number");
    
    Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
    Если Номер > 2 Тогда
    ЗаполнитьСтруктуруОтвета(СтруктураОтвет,404,"Отсутствует документ с номером: " + Номер,ложь,"");
    Иначе
    Если Номер = 1 Тогда
    Результат = "Расходная накладная, 1, 01.01.2014";
    Иначе
    Результат = "Расходная накладная, 2, 01.01.2014";
    КонецЕсли;
    СтруктураОтвет.ДанныеОтвета = Результат;
    КонецЕсли;
    КонецПроцедуры 

    Как вы видите, размер кода увеличился, но стало гораздо проще добавлять новые методы.

    Нужно просто добавить в проверку (PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET) новое имя метода и процедуру для этого метода.

    По отладке HTTP-сервисов рекомендую статью с ИТС (https://its.1c.ru/db/metod8dev#content:5756:hdoc)

    Первую часть заканчиваю. Мы рассмотрели с Вами как создать каркас для Get метода. В следующих частях поговорим про другие методы, про oData и JSON. Как и в этой статье будут примеры, но более  интересные.

    Статьи из данного цикла:

    HTTP Сервисы: Путь к своему сервису. Часть 2

    HTTP Сервисы: Путь к своему сервису. Часть 3

    HTTP Сервисы: Путь к своему сервису. Часть 4

    На платформе 1C начиная от версии 8.3.5 и выше появилась новая возможность создания сервисов с уникальными HTTP services URL. Подобные системы позволяют не только осуществлять штатные задачи, как отправку, прием и корректировку данных, но и обладают куда более глубокими возможностями. Например, формирование простых, но действенных клиентских приложений. Плюс, что примечательно, общая нагрузка на сам сервер снижается, благодаря уменьшению объема сведений, а также их оптимизации.

    В результате мы получаем отличный инструмент, позволяющих реализовывать самые непростые задания даже на смартфонах, ведь вычислительная мощность потребуется относительно небольшая.

    массив клиентов для отправки

    Шаблон создания HTTP сервиса 1С

    В первую очередь нам понадобится сам веб-сервер. Отличным вариантом считается Apache, подходящий версией от 2.2 и выше. Конкретнее про установку мы поговорим дальше в представленным обзоре, пока же по вводным факторам.

    Для начала создаем сам serves. Вводим произвольное название, фактически роли это не играет.

    HTTP

    А вот сам URL – это куда более важная часть. Именно по этому адресу будет доступен корневой каталог, поэтому заранее определите корректное наименование.

    Шаблоны URL и методы

    Свойств у только что нами созданного URL немного, а именно одно – шаблон. Это запись, по которой будет доступен путь до serves.

    Вы можете задавать параметры для сегментирования. То есть, градировать на неопределенное количество внутренних разделов. Выполняется это с помощью следующих настроек.

    Свойства шаблона

    А вот у методов уже есть возможность присвоения множества свойств. Таких, как движение, удаление, блокирование, соединение, получение, путь и так далее.

    При обращении к системе автоматически будет сопоставлен введенный адрес с имеющимся шаблоном. И если они соответствуют, то в ответ выдается выбранный вами метод. Если же соответствия не произошло, то ответная реакция от HTTP сервиса 1С будет 404, что является кодом ошибки.

    свойства

    Публикация и проверка

    Завершающим шагом будет отправка нашего созданного шаблона в работу. Но на многих версиях этого не получится сделать, если сама программа не была запущена от имени администратора. Если не получилось опубликовать ваш вариант, просто закройте конфигуратор и откройте снова через щелчок правой кнопки мыши и выбор соответствующей опции.

    публикация на веб-сервере

    Итак, если мы все сделали верно, то в случае этого примера, он будет доступен по адресу – localhost/HTTPTest/hs/Obmen/test-parametr/Test/GetInfo?param=value.

    Разберем каждый сегмент этого пути:

    • Localhost – соответственно, сам адрес изначального сервера.
    • HTTPTest – как вы можете наблюдать из скрина, именно такой набор символов мы ввели в названии нашей тестовой публикации.
    • Hs – а вот это важнейшая часть. Это указатель, который дает понятие о том, что происходит именно обращение к 1С HTTP сервису.
    • Obmen – это название корневого каталога, который мы задавали ранее.
    • test-parametr – соответственно, указанный нами изначально метод определения, а точнее, его путь.
    • GetInfo – это уже наименование.
    • param=value – нестрогий вариант параметров.

    При выполнении процедуры произойдет следующее.

    get параметры

    Здесь мы обратились к методу, получили соответствующий ответ. При этом для работы нам в любом случае понадобится авторизация. И решить возникшее затруднение в принципе несложно. Потребуется просто задать новый логин и пароль. А после авторизоваться по введенным опциям. Но есть и другая методика реализации этой функции, если обратиться к 1С HTTP сервис vrd. Мы напрямую можем изменить файл default, добавив в блокнот следующую запись – Usr=Логин; Pwd=Пароль. В результате надобности в авторизации как таковой не будет. И наша публикация будет доступна свободно.

    Готовые решения для всех направлений

    Склады

    Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

    Узнать больше

    Магазины

    Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

    Узнать больше

    Маркировка

    Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.

    Узнать больше

    E-commerce

    Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

    Узнать больше

    Учреждения

    Повысь точность учета имущества организации, уровень контроля сохранности и перемещения каждой единицы. Мобильный учет снизит вероятность краж и естественных потерь.

    Узнать больше

    Производство

    Повысь эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.

    Узнать больше

    RFID

    Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

    Узнать больше

    ЕГАИС

    Исключи ошибки сопоставления и считывания акцизных марок алкогольной продукции при помощи мобильных инструментов учёта.

    Узнать больше

    Сертификация

    Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

    Узнать больше

    Инвентаризация

    Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

    Узнать больше

    Показать все решения по автоматизации

    Отладка

    Итак, чтобы в принципе была возможность корректировки, нам в изначальном файле нужно прописать некоторые параметры. А точнее – в режиме отладчика поставить опцию «Разрешена по IP/TCP». А также указать адрес сервера в соответствующем пункте.

    прочие настройки

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

    Настройка автоматического подключения

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

    настройки

    Fiddler2 Inspectors

    Не будем путать эти дополнительные инструменты с теми, которые помогают внедрить саму платформу в текущую программную экосистему на предприятии. Они носят совершенно иное название. А именно – 1С сервисы интеграции, что это легко понять, представив помощника, который просто связывает всю текущую систему 1C, ее задачи и нужды и ПО. Получается, переносит все требования в настройки конфигуратора.

    Помните, что, если у вас не выходит самостоятельно произвести все обозначенные действия, вы всегда можете обратиться к поставщику программного обеспечения. Да, не все из них готовы взять на себя подобного рода деятельность. Но, заказывая ПО у «Клеверенс», вы получаете:

    • полноценное внедрение систем;
    • адаптацию для различных предприятий;
    • по желанию полное техническое сопровождение;
    • отладку;
    • сервисы интеграции 1С.

    Требование к инструментам

    Теперь пойдем более подробно по всем возможностям. Чтобы у наших читателей не осталось вопросов. Раздел для тех, кто решил действовать самостоятельно. Первое, что понадобится, платформа/компьютер и доступ в интернет. Далее, как уже упоминалось, установленный сервер. И само программное обеспечение. И если первый пункт пояснений не требует, то с остальным давайте разбираться подробнее.

    Веб-сервер Apache

    Для начала зайдем на официальный сайт разработчика. И найдем здесь только голые исходники. Да, конкретно дистрибутива на платформе в наличии нет, это не компетенция проекта. А лежит она в плоскости деятельности различных партнеров. Благо, на самом виртуальном ресурсе есть соответствующие ссылки. Воспользуемся одной из них.

    Действия такие – открываем скаченный exe-шник, но обязательно производим запуск от имени администратора. Иначе часть функций останется недоступными, а значит, установка пройдет некорректным образом.

    Начальные параметры скорее стоит оставить по умолчанию, в основном они выбраны правильно для новичков. Единственное «но» заключается в выборе дополнительных компонентов. Вот здесь настолько огромный массив нам точно не понадобится. Поэтому снимаем галочки с лишних окон.

    Установка

    Если все прошло удачно, суммы файлов совпали, то после завершения процедуры у нас автоматически активируется приложение XAMPP.

    Установка ПО

    Это правильно, но именно так оно будет отображаться, только если это ваша первая установка подобного программного обеспечения. Дело в том, что для подключения утилита занимает 80-ый порт. А значит, его не должны использовать другие программы. Если подобное случится, то вы получите совершенно иное сообщение. А выглядеть оно будет так.

    Установка утилиты

    Ничего страшного не случится даже в этом случае. Все, что нам нужно – это открыть конфигурации, чтобы внести некоторые корректировки. Для этого находим строчку Listen, и в ее числовом значении на конце после точки стираем написанное, вручную добавляем цифры 8080. Такие же манипуляции проводим и с именем сервера в том же раскрывшемся файле. Проблема решена.

    Но осталась другая – нужно присвоить серверу свойство службы нашего Windows. Зачем это делать? Дело в том, что в противном случае параметры запроса к HTTP сервису 1С (httpсервисзапрос) будут не учитывать сам Apache. Соответственно, мы не сможем выбрать его в качестве источника публикации, после того как создадим наш проект.

    Нам нужно найти установочный файл сервера с разрешением .bat. А после изменить в нем путь, дописав вот это – HTTPd.exe. Сохраните внесенные изменения. А теперь просто попробуйте его запустить, но опять же, обязательно от имени администратора. Вас должно ожидать подобное.

    Код

    Устанавливаем платформу

    Чтобы использовать возможности ПО, нужно его установить, логично. И процедура еще легче, чем предыдущая. Также запускаем exe-шник, оставляем все настройки на своих местах. Только добавляем модули расширения.

    Выборочная установка

    Рекомендуется после установки здесь же запустить новую базу. Для отладки некоторых моментов. А именно, заходим в конфигурации и активируем режим модульного использования.

    Конфигурация Совместимость

    Пара слов о протоколе

    Давайте уделим немного внимания самому HyperText Transfer Protocol. Копнем слегка в его структуру, чтобы понимать, с чем имеем дело. А ее схематично можно представить вот таким образом.

    Название структурного элемента

    Пояснение

    Строка запроса

    Поясняется сам метод, с помощью которого будет происходить обмен информацией. Соответственно, это и версия, и сам URL

    Заголовок

    Короткое описание, которое обычно содержит ключевые по значению параметры

    Разделитель

    Пустая строка

    Тело

    Содержание информационного пакета. Примечательно, что фактически он вполне может быть незаполненным, но обозначенные выше сегменты все равно должны присутствовать

    Как работает обмен данными

    Немного поняв принципы самого протокола, переходим к тому, как обратиться к HTTP сервису 1C (1С:8), пример запроса выглядит так.

    процедура скачать

    Рассмотрим более подробно.

    Запрос

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

    Соединение

    Функция для передачи информации по протоколу. Может использовать различные типы защиты, например, TLS 1.2. При этом снабжается мерами аутентификации, то есть, необходимо введение логина и пароля.

    Для обработки используются различные методы, как получить, отправить, отказать и так далее. Допустимо построение некоторых форм, как вариант:

    скачать или еще

    Одним из распространенных способов является также 1C HTTP сервисы post-метода.

    Далее мы рассмотрим, как происходит работа связки этих двух параметров на практике.

    Создание соединения

    Если рассматривать все на примере кода, то в самой первой строке нам нужно указать тип обмена данными, а также название нашего нового фрагмента. Допустим, «Закупка товаров» или любое иное, по вашему усмотрению.

    Заголовок

    Далее нам необходимо задать соответствие. В принципе, здесь есть только два основополагающих параметра. Первый – accept. Команда предназначена для определения типа сведений, а также файлов, которые будут приняты на сервере. Это картинки в обозначенных форматах, видеофайлы, текстовые и так далее.

    Второй – user-agent. Это наименование инструмента, с помощью которого мы и осуществляем коннект.

    Создаем запрос

    Теперь по аналогии мы и запрашиваем исполнение файла. Сама форма состоит из двух частей. Первая — включает в себя путь до этого объекта, а вторая – ее тип соответствия. Если это изображение в .jpg, то так и прописывается. Для понимания – /wp-content/uploads/2021/11/sait.ru-logo-200wide-65high-2021-12-04-v12.png, примерно так будет выглядеть наш запрос.

    Отправка

    Для передачи нам понадобится лишь указать наименование объекта. Правда, полностью и с точностью. А также присвоить параметр получения, звучит он в программе, как Get.

    Обработка

    Обращаем внимание на код, который идентифицирует состояние процесса. Нас устраивает только успешная пересылка, а она обозначается как 200.

    Работа с базами

    Общие принципы мы уже успели уяснить. Теперь закрепим на конкретном прикладном кейсе. Итак, мы создаем новый проект с рандомным наименованием. Давайте, возьмем объект – клиенты (контрагенты).

    HTTP сервис

    Свойства Customers

    В общих параметрах мы создаем соответствующий клиентский лист.

    Get Customers List

    Настройки get customers list

    А также задаем метод обработки входящих данных, чтобы сервер распознавал, что от него вообще требуется.

    url шаблоны

    HTTP метод

    Далее пойдем по коду.

    Создание перечня customers

    Для начала присваиваем значение для все базы, потом для каждого конкретного человека из общего перечня. Берем для идентификации следующие данные: имя, идентификатор, номер его мобильного телефона, а также адрес электронной почты. В общем-то, полностью готовый лид.

    создание перечня

    Сериализуем данные

    То есть, мы переводим их из первоначальной формы в программную. Чтобы свободно передавать в качестве информационного потока.

    запись JSON

    Составляем ответ

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

    ответ заголовки

    Как мы помним, 200 – значение положительного результата нашей функции. Опубликованный запрос принимает следующий вид.

    публикация на веб-сервере demo

    А в самом конфигураторе поиск выглядит так.

    контрагенты

    Забив же адрес в браузере, мы проследим ответ в форме сериализованных сведений.

    код в браузере

    Запрос на CustomerCode

    Теперь разберем код, который позволит по идентификатору найти искомое лицо. Выполняется это также несложно.

    Сначала сформируем сам запрос, который направим через 1С веб-сервис rest. Выглядит так.

    определение функции

    Функция понятна. Если данных не найдено, то после параметра then у нас сработает следующая строка.

    ответ, если клиент не найден

    Как видим, в этом случае ответ не выдается. Очевидно, ведь его просто нет, по указанному идентификатору в базе никаких контрагентов не находится. Что же следует после else.

    данные клиента

    Правильно, при найденном номере автоматически заполняется карточка. Вносятся сведения по имени, номеру смартфона и электронной почте. Соответственно, итоговое искомое лицо и вся его характеристика найдена.

    И не забываем про сериализацию, в противном случае отправку совершить будет невозможно.

    Это тоже своего рода защита, как S в протоколе. То есть, 1С HTTP сервисы и HTTPS отличаются только степенью защищенности пользовательских данных.

    Формируем ответ

    Мы нашли нужного человека. Теперь нам необходимо, чтобы программа выдала данные в приемлемой форме. Вот в такой.

    новый ответ

    Итог.

    итоговый результат

    Касательно post – алгоритм такой же.

    алгоритм при post

    тестирование post

    И выдача приобретает такой вид.

    контрагенты в 1с предприятие

    Заключение

    Как вы понимаете, для человека, который не прошел специальное обучение, освоение этой техники с нуля будет довольно проблематичным. Придется потратить значительное время, чтобы освоиться. Поэтому созданием и настройкой обычно занимаются профессионалы. Если же на вашем предприятии такого сотрудника нет, то логично будет пройти обучение. Ведь если не работает HTTP сервис 1С и обмен данными через 1C, настройка – в 90% и является причиной случившегося. Просто неверны базовые параметры. Соответственно, чтобы не парализовать производство всего отдела, к работе стоит допускать только компетентного человека, прошедшего соответствующий курс.

    Количество показов: 8638

    Не получается опубликовать веб-сервис

    Я
       Vir_Rus

    21.08.19 — 14:32

    Добрый день!

    Не получается опубликовать веб сервис. Точнее обратиться к нему через браузер — пишет ошибка 404 (страница не найдена).

    Самописная конфигурация, платформа 1С 8.3. Веб сервер Апаче 2.2. База 1с находится на одном сервере, сервер 1с на другом, сервер апаче на третьем.

    При публикации веб сервиса через: Администрирование — Публикация на веб-сервисе… — создается в каталоге файл default.vrd.

    Пытаюсь в браузере (с сервера апаче) перейти по адресу «http://localhost/Имя_указанное_при_публикации/ws/имя_сервиса?wsdl»; — выдает ошибку 404.

    Не понимаю уже в какую сторону копать. Перерыл весь интернет, из подобных проблем — описано только в одной теме (http://www.bizkit.ru/2013/05/24/1722/). Но она не помогла…

    Есть у кого какие идеи, в каком направлении искать?

    Спасибо

       Vir_Rus

    1 — 21.08.19 — 14:45

    Есть в браузере зайти просто в локалхост, он видит только этот единственный файл, его можно посмотреть — содержание ниже:

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»;

            xmlns:xs=»http://www.w3.org/2001/XMLSchema»;

            xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»;

            base=»/Obmen»

            ib=»Srvr=&quot;10.194.11.201&quot;;Ref=&quot;gdctest2&quot;;»>

        <ws publishExtensionsByDefault=»true»>

            <point name=»Obmen»

                    alias=»ws1.1cws»

                    enable=»true»

                    reuseSessions=»autouse»

                    sessionMaxAge=»20″

                    poolSize=»10″

                    poolTimeout=»5″/>

        </ws>

        <standardOdata enable=»true»

                reuseSessions=»autouse»

                sessionMaxAge=»20″

                poolSize=»10″

                poolTimeout=»5″/>

    </point>

       НЕА123

    2 — 21.08.19 — 14:50

    ХЗ.

    м.б. конфигуратор при публикации был запущен не под администратором

       Vir_Rus

    3 — 21.08.19 — 14:57

    Если я не ошибаюсь, то не получится опубликовать не из под админа…

    Дело не в этом.

    Может нужны какие-то дополнительные манипуляции с апачем?

       Жан Пердежон

    4 — 21.08.19 — 15:23

    (3) ну так почитал бы гайды сначала, с IIS тоже манипуляции могут потребоваться

       Vir_Rus

    5 — 22.08.19 — 12:41

    Всем привет!

    Была проблема в сервере. Установил Апаче на свой ПК и с него все развернул и запустил. Заработало сразу.

    Но при попытке выполнить процедуру веб сервиса вываливается ошибка:»{ОбщаяФорма.ФормаОбмена.Форма(26)}: Ошибка при вызове метода контекста (Приветствие): При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса:  {Obmen}:Hello:Приветствие(): При вызове веб-сервиса произошла ошибка. Ошибка HTTP:  HTTP Status 500 — Внутренняя ошибка сервера.

    1C:Enterprise 8 application error:Ошибка при разборе дескриптора виртуальных ресурсовby reason: Файл не обнаружен ‘C:wwwdefault.vrd’. 2(0x00000002): Не удается найти указанный файл.»

    Почему в ошибке указан файл в папке C:www? я его ни где не прописывал…

    Решил изменить в конфиге апача директорию документов как раз на www, чтобы 1с создала там нужный файл.

    Ошибка не пропала. Пробовал и сервер из под админа запускать, права на папку есть у всех (в том числе и у админа, от которого пробовал запускать сервер).

       Vir_Rus

    6 — 22.08.19 — 12:46

    В базе веб сервиса в процедуре следующий код:

    Функция Приветствие(Параметр1)

        Возврат Неопределено;

    КонецФункции

    В другой базе добавил ws-ссылку на веб сервис.

    Пытаюсь подключиться:

        Соединение = WSСсылки.WSСсылка1.СоздатьWSПрокси(«Obmen»,»Hello»,»HelloSoap»);

        Соединение.Пользователь = «****»;

        Соединение.Пароль = «****»;

        Попытка

            Ответ = Соединение.Приветствие(«132»);

            Сообщить(Ответ);

        Исключение

            Сообщить(ОписаниеОшибки());

        КонецПопытки;

    в результате ошибка.

    Пробовал и динамически создавать подключение:

    УРЛ = «http://localhost:80/Hello/ws/ws2.1cws?wsdl»;;

        Пространство = «Obmen»;

        ИмяСервиса = «Hello»;

        ИмяТочкиПодключения = «HelloSoap»;

        
        Попытка

            Определение = новый WSОпределения(УРЛ,,,,20);

            Соединение = Новый WSПрокси(Определение,Пространство,ИмяСервиса,ИмяТочкиПодключения,,150);

        Исключение

            Сообщить(ОписаниеОшибки());

            Возврат;

        КонецПопытки;

    Получаю следующую ошибку:

    {ОбщаяФорма.ФормаОбмена.Форма(15)}: Ошибка при вызове конструктора (WSОпределения): При создании описания сервиса произошла ошибка. URL сервиса: http://localhost:80/Hello/ws/ws2.1cws?wsdl

    Код ответа сервера: 500

       ptiz

    7 — 22.08.19 — 13:06

    (5) «я его ни где не прописывал» — ищи в файле настроек апача httpd.conf

       Vir_Rus

    8 — 22.08.19 — 13:17

    (7) в том то и дело — там даже намека нет на эту папку, точнее не было.

    Так как я потом сам поменял, чтобы доументы там хранились, но это не помогло.

    Сам файл лежит в указанном пути, но ошибка не исчезает.

       DrWatson

    9 — 22.08.19 — 13:18

    (5) А разве это сообщение не значит, что с настройками всё хорошо, веб-сервис вызывается. Но 1С не нравится твоя функция Приветствие(). Может стоит убрать у неё параметр?

       Vir_Rus

    10 — 22.08.19 — 13:28

    (9) Убирал, результат тот же

       ptiz

    11 — 22.08.19 — 13:49

    (8) Покажи, что у тебя в файле httpd.conf в блоке после:

    # 1c publication

       Vir_Rus

    12 — 22.08.19 — 13:53

    На всякий случай все после 1с publication выложу:

    # 1c publication

    Alias «/Hello» «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»

    <Directory «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»>

        AllowOverride All

        Options None

        Order allow,deny

        Allow from all

        SetHandler 1c-application

        ManagedApplicationDescriptor «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/default.vrd»

    </Directory>

    #

    # DefaultType: the default MIME type the server will use for a document

    # if it cannot otherwise determine one, such as from filename extensions.

    # If your server contains mostly text or HTML documents, «text/plain» is

    # a good value.  If most of your content is binary, such as applications

    # or images, you may want to use «application/octet-stream» instead to

    # keep browsers from trying to display binary files as though they are

    # text.

    #

    DefaultType text/plain

    <IfModule mime_module>

        #

        # TypesConfig points to the file containing the list of mappings from

        # filename extension to MIME-type.

        #

        TypesConfig conf/mime.types

        #

        # AddType allows you to add to or override the MIME configuration

        # file specified in TypesConfig for specific file types.

        #

        #AddType application/x-gzip .tgz

        #

        # AddEncoding allows you to have certain browsers uncompress

        # information on the fly. Note: Not all browsers support this.

        #

        #AddEncoding x-compress .Z

        #AddEncoding x-gzip .gz .tgz

        #

        # If the AddEncoding directives above are commented-out, then you

        # probably should define those extensions to indicate media types:

        #

        AddType application/x-compress .Z

        AddType application/x-gzip .gz .tgz

        #

        # AddHandler allows you to map certain file extensions to «handlers»:

        # actions unrelated to filetype. These can be either built into the server

        # or added with the Action directive (see below)

        #

        # To use CGI scripts outside of ScriptAliased directories:

        # (You will also need to add «ExecCGI» to the «Options» directive.)

        #

        #AddHandler cgi-script .cgi

        # For type maps (negotiated resources):

        #AddHandler type-map var

        #

        # Filters allow you to process content before it is sent to the client.

        #

        # To parse .shtml files for server-side includes (SSI):

        # (You will also need to add «Includes» to the «Options» directive.)

        #

        #AddType text/html .shtml

        #AddOutputFilter INCLUDES .shtml

    </IfModule>

    #

    # The mod_mime_magic module allows the server to use various hints from the

    # contents of the file itself to determine its type.  The MIMEMagicFile

    # directive tells the module where the hint definitions are located.

    #

    #MIMEMagicFile conf/magic

    #

    # Customizable error responses come in three flavors:

    # 1) plain text 2) local redirects 3) external redirects

    #

    # Some examples:

    #ErrorDocument 500 «The server made a boo boo.»

    #ErrorDocument 404 /missing.html

    #ErrorDocument 404 «/cgi-bin/missing_handler.pl»

    #ErrorDocument 402 http://localhost/subscription_info.html

    #

    #

    # MaxRanges: Maximum number of Ranges in a request before

    # returning the entire resource, or one of the special

    # values ‘default’, ‘none’ or ‘unlimited’.

    # Default setting is to accept 200 Ranges.

    #MaxRanges unlimited

    #

    # EnableMMAP and EnableSendfile: On systems that support it,

    # memory-mapping or the sendfile syscall is used to deliver

    # files.  This usually improves server performance, but must

    # be turned off when serving from networked-mounted

    # filesystems or if support for these functions is otherwise

    # broken on your system.

    #

    #EnableMMAP off

    #EnableSendfile off

    # Supplemental configuration

    #

    # The configuration files in the conf/extra/ directory can be

    # included to add extra features or to modify the default configuration of

    # the server, or you may simply copy their contents here and change as

    # necessary.

    # Server-pool management (MPM specific)

    #Include conf/extra/httpd-mpm.conf

    # Multi-language error messages

    #Include conf/extra/httpd-multilang-errordoc.conf

    # Fancy directory listings

    #Include conf/extra/httpd-autoindex.conf

    # Language settings

    #Include conf/extra/httpd-languages.conf

    # User home directories

    #Include conf/extra/httpd-userdir.conf

    # Real-time info on requests and configuration

    #Include conf/extra/httpd-info.conf

    # Virtual hosts

    #Include conf/extra/httpd-vhosts.conf

    # Local access to the Apache HTTP Server Manual

    #Include conf/extra/httpd-manual.conf

    # Distributed authoring and versioning (WebDAV)

    #Include conf/extra/httpd-dav.conf

    # Various default settings

    #Include conf/extra/httpd-default.conf

    # Secure (SSL/TLS) connections

    #Include conf/extra/httpd-ssl.conf

    #

    # Note: The following must must be present to support

    #       starting without SSL on platforms with no /dev/random equivalent

    #       but a statically compiled-in mod_ssl.

    #

    <IfModule ssl_module>

    SSLRandomSeed startup builtin

    SSLRandomSeed connect builtin

    </IfModule>

       ptiz

    13 — 22.08.19 — 13:59

    (12) Теперь проверь — всё ли правильно написано в этом файле: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/default.vrd

       Vir_Rus

    14 — 22.08.19 — 14:06

    Извиняюсь, не знаю как тут прикреплять файлы/изображения. Выложу весь текст файла.

    This XML file does not appear to have any style information associated with it. The document tree is shown below.

    <definitions xmlns=»http://schemas.xmlsoap.org/wsdl/»; xmlns:soap12bind=»http://schemas.xmlsoap.org/wsdl/soap12/»; xmlns:soapbind=»http://schemas.xmlsoap.org/wsdl/soap/»; xmlns:tns=»Obmen» xmlns:wsp=»http://schemas.xmlsoap.org/ws/2004/09/policy»; xmlns:wsu=»http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd»; xmlns:xsd=»http://www.w3.org/2001/XMLSchema»; xmlns:xsd1=»Obmen» name=»Hello» targetNamespace=»Obmen»>

    <types>

    <xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»; xmlns:xs1=»Obmen» targetNamespace=»Obmen» elementFormDefault=»qualified»>

    <xs:element name=»Приветствие»>

    <xs:complexType>

    <xs:sequence/>

    </xs:complexType>

    </xs:element>

    <xs:element name=»ПриветствиеResponse»>

    <xs:complexType>

    <xs:sequence>

    <xs:element name=»return» type=»xs:all» nillable=»true»/>

    </xs:sequence>

    </xs:complexType>

    </xs:element>

    </xs:schema>

    </types>

    <message name=»ПриветствиеRequestMessage»>

    <part name=»parameters» element=»tns:Приветствие»/>

    </message>

    <message name=»ПриветствиеResponseMessage»>

    <part name=»parameters» element=»tns:ПриветствиеResponse»/>

    </message>

    <portType name=»HelloPortType»>

    <operation name=»Приветствие»>

    <input message=»tns:ПриветствиеRequestMessage»/>

    <output message=»tns:ПриветствиеResponseMessage»/>

    </operation>

    </portType>

    <binding name=»HelloSoapBinding» type=»tns:HelloPortType»>

    <soapbind:binding style=»document» transport=»http://schemas.xmlsoap.org/soap/http»/>;

    <operation name=»Приветствие»>

    <soapbind:operation style=»document» soapAction=»Obmen#Hello:Приветствие»/>

    <input>

    <soapbind:body use=»literal»/>

    </input>

    <output>

    <soapbind:body use=»literal»/>

    </output>

    </operation>

    </binding>

    <binding name=»HelloSoap12Binding» type=»tns:HelloPortType»>

    <soap12bind:binding style=»document» transport=»http://schemas.xmlsoap.org/soap/http»/>;

    <operation name=»Приветствие»>

    <soap12bind:operation style=»document» soapAction=»Obmen#Hello:Приветствие»/>

    <input>

    <soap12bind:body use=»literal»/>

    </input>

    <output>

    <soap12bind:body use=»literal»/>

    </output>

    </operation>

    </binding>

    <service name=»Hello»>

    <port name=»HelloSoap» binding=»tns:HelloSoapBinding»>

    <documentation>

    <wsi:Claim xmlns:wsi=»http://ws-i.org/schemas/conformanceClaim/»; conformsTo=»http://ws-i.org/profiles/basic/1.1″/>;

    </documentation>

    <soapbind:address location=»http://localhost/Hello/ws/Hello»/>;

    </port>

    <port name=»HelloSoap12″ binding=»tns:HelloSoap12Binding»>

    <soap12bind:address location=»http://localhost/Hello/ws/Hello»/>;

    </port>

    </service>

    </definitions>

       ptiz

    15 — 22.08.19 — 14:16

    (14) Это ответ веб-сервиса, значит — работает.

       Йохохо

    16 — 22.08.19 — 14:18

    (15) это копипаст из блокнота)

       ptiz

    17 — 22.08.19 — 14:19

    (14) У тебя «Имя файла публикации» заполнено в свойстве веб-сервиса?

       ptiz

    18 — 22.08.19 — 14:20

    (14) И покажи содержимое файла default.vrd

       Vir_Rus

    19 — 22.08.19 — 15:02

    (17) заполнено (18)

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»;

            xmlns:xs=»http://www.w3.org/2001/XMLSchema»;

            xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»;

            base=»/Hello»

            ib=»Srvr=&quot;sd-s-vm02&quot;;Ref=&quot;gdctest2&quot;;»>

        <httpServices publishByDefault=»false»/>

        <standardOdata enable=»true»

                reuseSessions=»autouse»

                sessionMaxAge=»20″

                poolSize=»10″

                poolTimeout=»5″/>

        <ws>

            <point name=»Obmen»

                    alias=»ws1.1cws»

                    enable=»true»

                    reuseSessions=»autouse»

                    sessionMaxAge=»20″

                    poolSize=»10″

                    poolTimeout=»5″/>

            <point name=»Hello»

                    alias=»ws2.1cws»

                    enable=»true»

                    reuseSessions=»autouse»

                    sessionMaxAge=»20″

                    poolSize=»10″

                    poolTimeout=»5″/>

        </ws>

    </point>

       ptiz

    20 — 22.08.19 — 15:22

       Йохохо

    21 — 22.08.19 — 15:27

    ib=»Srvr=&quot;sd-s-vm02&quot;

    попробуйте по айпи

       Йохохо

    22 — 22.08.19 — 15:29

    ib=»Srvr=&quot;sd-s-vm02&quot;;Ref=&quot;gdctest2&quot;;» странно выглядит

    ib=»Srvr=sd-s-vm02;Ref=gdctest2;»

       Vir_Rus

    23 — 22.08.19 — 15:32

    (20) Открывается

    http://localhost:80/Hello если так — то доступ к базе будет из браузера

       Vir_Rus

    24 — 22.08.19 — 15:35

    (21) т.е. попробовать отредактировать этот файл? и написать там айпи вместо названия?

       Vir_Rus

    25 — 22.08.19 — 15:36

    (22) Во всяком случае, если бы дело было в этом — я бы не смог зайти в базу из браузера. Так что не думаю что проблема тут

       Йохохо

    26 — 22.08.19 — 15:39

    (23) открывается это именно текст из (24) виден в браузере?

       Vir_Rus

    27 — 22.08.19 — 15:45

    (26) Виден текст из (14) если из браузера переходить http://localhost/Hello/ws/Hello?wsdl

    А (19) это содержимое файла default.vrd

       ptiz

    28 — 22.08.19 — 15:57

    (27) Команду: новый WSОпределения() выполняешь в какой базе? Файловая? Серверная? С какого компьютера?

    А то ведь localhost будет доступен только с того компа, где апач.

       Vir_Rus

    29 — 22.08.19 — 16:05

    (28) новый WSОпределения() выполняю на своем ПК, на нем же стоит Апач. Базы серверные.

    При выполнении данной команды получаю ошибку:

    {ОбщаяФорма.ФормаОбмена.Форма(15)}: Ошибка при вызове конструктора (WSОпределения): При создании описания сервиса произошла ошибка. URL сервиса: http://localhost:80/Hello/ws/ws2.1cws?wsdl

    Код ответа сервера: 500

    У меня веб сервис основной забы подключен в ws-ссылки в «мобильной» базе. Из нее сразу создаю wsПрокси:

        Соединение = WSСсылки.WSСсылка1.СоздатьWSПрокси(«Obmen»,»Hello»,»HelloSoap»);

    И получаю ошибку:

    «{ОбщаяФорма.ФормаОбмена.Форма(26)}: Ошибка при вызове метода контекста (Приветствие): При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса:  {Obmen}:Hello:Приветствие(): При вызове веб-сервиса произошла ошибка. Ошибка HTTP:  HTTP Status 500 — Внутренняя ошибка сервера.

    1C:Enterprise 8 application error:Ошибка при разборе дескриптора виртуальных ресурсовby reason: Файл не обнаружен ‘C:wwwdefault.vrd’. 2(0x00000002): Не удается найти указанный файл.»

       Vir_Rus

    30 — 23.08.19 — 08:53

    Возможно нашел причину возникновения ошибки…

    Сейчас ради эксперимента выключил сервер апач и попробовал выполнить веб сервис. получил точно такую же ошибку.

    Получается из 1с не виден сервер апача…

    Потому что из браузера все работает нормально.

    В чем может быть ошибка? Какие-нибудь права 1с-ке нужны?

       ptiz

    31 — 23.08.19 — 09:03

    (29) Замени наконец localhost на нормальное имя компьютера, или (ещё лучше) — IP-адрес.

       Vir_Rus

    32 — 23.08.19 — 09:07

    (31) Уже заменил на локальный адрес 127.0.0.1 — не помогло

       Василий Алибабаевич

    33 — 23.08.19 — 09:08

    (12) Иттить колотить….

    Вы на полном серьезе считаете нормальным вот такой путь: Alias «/Hello» «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»

    <Directory «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»>?

       Vir_Rus

    34 — 23.08.19 — 09:08

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

       Vir_Rus

    35 — 23.08.19 — 09:09

    (33) переделал путь на c:/www/ — тут уже лежит веб сервис — результат не изменился…

       Василий Алибабаевич

    36 — 23.08.19 — 09:10

    + (33) Тем более с учетом того, что в ошибке указан путь: ‘C:wwwdefault.vrd’ ЦЫ(28) ???

       Василий Алибабаевич

    37 — 23.08.19 — 09:10

    (35) Переделал как? Что изменял?

       ДенисЧ

    38 — 23.08.19 — 09:11

    А у тебя Апачу разрешено слушать какой-то адрес, кроме локохоста?

       Vir_Rus

    39 — 23.08.19 — 09:12

    (37) папку публикации веб сервиса и в конфиге апача строку documentsdirectory — вроде так она называется на путь «c:/www»

       ПускинАС

    40 — 23.08.19 — 09:12

    (1) Всегда нравилось, как умно работает определитель кода. Прямо в стиле 1с))) глаза рэжет ))) куль веб

       ПускинАС

    41 — 23.08.19 — 09:16

    (0) Поставь апач нормально, нормальный, и будет тебе ок.

       Василий Алибабаевич

    42 — 23.08.19 — 09:20

    (39) Вообще корень сайта в файле конфигурации прописывается в «DocumentRoot»

    При этом :

    1. Пути должны указываться в в стиле Линукса

    не c:www, а c://www

    2. Там не должно быть кириллицы и спецсимволов.

       Vir_Rus

    43 — 23.08.19 — 09:20

    (41) Так если б знал какой правильный и как правильно — ужеб давно сделал. а так делаю по видеоуроку или по статье какой-нибудь. все один в один, ну разве что только версии апача могут отличаться

       Василий Алибабаевич

    44 — 23.08.19 — 09:25

    + (42)

    Каталог с публикацией 1с (*.vrd) должен быть внутри того, что указано в DocumentRoot.

    в LoadModule должен быть указан корректный путь к wsap22.dll или wsap24.dll (зависит какой апач)

    Публикация должна быть указана в файле httpd.conf примерно так :

    # 1c publication

    Alias «/Prdp» «D:/###/Prdp/»

    <Directory «D:/###/Prdp/»>

        AllowOverride All

        Options None

        Require all granted

        SetHandler 1c-application

        ManagedApplicationDescriptor «D:/###/Prdp/default.vrd»

    </Directory>

    после всех корректировок httpd апач должен быть перезагружен.

       Василий Алибабаевич

    45 — 23.08.19 — 09:28

    +(44) Если в httpd неправильно указан путь к wsap*.dll или юзеру, от имени которого запускается апач недостаточно прав на wsap*.dll служба не запустится. В журнале регистрации событий винды будет запись об ошибке.

    Проверяй.

       Vir_Rus

    46 — 23.08.19 — 09:49

    (45) по логике, если из браузера все работает — значит все настройки сервера и публикация веб сервиса выполнены корректно. или не факт?

    Есть факт, то почему из 1с не получается достучаться до апача?

       ptiz

    47 — 23.08.19 — 09:51

    (32) Где заменил? В создании ws-определения? И что будет делать 1С, если этот код запустится на сервере? К какому апачу стучаться?

       Василий Алибабаевич

    48 — 23.08.19 — 09:51

    (46) «если из браузера все работает» А это так?

    И как в браузере можно определить работоспособность сервиса? Оно же в браузер ничего не пишет.

    Удалось открыть файл? Ну так видимо настройка прав позволяет. Запиши туда же обычный текстовый файл и попробуй открыть из браузера.

       ПускинАС

    49 — 23.08.19 — 09:54

    https://www.apachehaus.com/cgi-bin/download.plx

    вот норм.

    распаковываешь с:Apache24

    в конфиге пишешь Define SRVROOT «C:/Apache24» (38 строка примерно) httpd.conf

    переходишь в

    c:Apache24binhttpd.exe -k install (установка сервиса)

    c:Apache24binhttpd.exe -к start (запуск)

    и все ЁБА ! ! ) ) )

       ДенисЧ

    50 — 23.08.19 — 09:56

    (46) Потому что у тебя апач и сервер 1с лежат на разных компах. А в апаче не разрешено слушать что-то другое, кроме лохоста.

       ПускинАС

    51 — 23.08.19 — 10:02

    (50) кто тебе такую ересь сказал?

       ДенисЧ

    52 — 23.08.19 — 10:24

    (51) Покажи мне в конфиге Апача директиву Listen

    Её там нет.

       ПускинАС

    53 — 23.08.19 — 10:27

       Василий Алибабаевич

    54 — 23.08.19 — 10:27

    (52) Она там есть. Вот пример :

    #

    # Listen: Allows you to bind Apache to specific IP addresses and/or

    # ports, instead of the default. See also the <VirtualHost>

    # directive.

    #

    # Change this to Listen on specific IP addresses as shown below to

    # prevent Apache from glomming onto all bound IP addresses.

    #

    #Listen 12.34.56.78:80

    Listen 81

    Только оно не зато отвечает куда может ходить подключаемый модуль. Даже подключаемых пыхпых может грузить свои инклюды из-за пределов документрут.

       ПускинАС

    55 — 23.08.19 — 10:28

    откуда вы все вылезли… из windows 95 ? )))

       ДенисЧ

    56 — 23.08.19 — 10:29

    (53) Это порт.

       ДенисЧ

    57 — 23.08.19 — 10:30

    А по дефолту апач слушает только локохост

       Василий Алибабаевич

    58 — 23.08.19 — 10:34

    (57) Апач слушает порт. Откуда оно там возьмется — ему не важно.

    ИМХАется мне ты спутал расположение ДокументРута. Вот за него не скажу. Хотя у меня написано так :

    # DocumentRoot: The directory out of which you will serve your

    # documents. By default, all requests are taken from this directory, but

    # symbolic links and aliases may be used to point to other locations.

    Настаиваю на : «but symbolic links and aliases may be used to point to other locations.»

       Василий Алибабаевич

    59 — 23.08.19 — 10:36

    В общем у ТС проблема не в том, где расположен ДокументРут, а в том что ТС этого и сам не знает.

       Йохохо

    60 — 23.08.19 — 10:45

    (46) откати все конфиги и сделай с нуля в отдельную папку

    (59) на документрут плевать т.к.

    Alias «/Hello» «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»

    <Directory «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»>

       Йохохо

    61 — 23.08.19 — 10:46

    кстати под виндой слеша вроде не должно быть в конце Apache2.2/htdocs

       Vir_Rus

    62 — 23.08.19 — 10:48

    Все заново сделал но уже на сервере где стоит сервер 1с. заработало.

    Всем спасибо

       Йохохо

    63 — 23.08.19 — 10:49

    так не интересно(

      

    ptiz

    64 — 23.08.19 — 12:16

    (62) Ну правильно: локалхост с сервера 1С теперь стучится туда же, где апач (на нем же) :)

    Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.

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

    В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux  без графической оболочки,  то публикация через привычное окно конфигуратора становится невозможной.

    Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.

    О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.

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

    Итак, что делать, если не получается опубликовать веб-сервис 1С?

    Список возможных ошибок:

    1. Job for httpd.service failed because the control process exited with error code.

    2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

    3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

    4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»

    5. Ошибка HTTP 404 Not found

    6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

    Job for httpd.service failed because the control process exited with error code.

    Полный текст ошибки:

    Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details.

    Описание ошибки:

    После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.

    Данное сообщение говорит о том, что процесс был завершен  с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.

    Решение:

    Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.

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

    Разбор, которых приведен в статье далее.

    Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

    Полный текст ошибки:

    сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf:

    сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration

    Описание ошибки:

    Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.

    Решение:

    Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.

    vim /etc/httpd/e1c/base.conf

    Пример ошибочной строки. Команды forceHandler  — на самом деле не существует :

    Alias «/base» «/var/www/e1c/base/»

    <Directory «/var/www/e1c/base/»>

       AllowOverride All

       Options None

       Require all granted

       forceHandler 1c-application

       ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

    </Directory>

    Исправим файл. Укажем корректное наименвоание команды — SetHandler:

    Alias «/base» «/var/www/e1c/base/»

    <Directory «/var/www/e1c/base/»>

       AllowOverride All

       Options None

       Require all granted

       SetHandler 1c-application

       ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

    </Directory>

    Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

    Полный текст ошибки:

    Начат процесс запуска юнита httpd.service.

    сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf:

    сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration

    сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE

    сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server.

    — Subject: Ошибка юнита httpd.service

    Описание ошибки:

    Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».

    В этом можно убедиться выполнив команду.

    cat /etc/httpd/conf/httpd.conf | grep wsap

    Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует  —  модуль не прописан.

    Решение:

    Отредактировать конфигурационный файл httpd.conf

    vim /etc/httpd/conf/httpd.conf

    Добавить строку:

    LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so»

    Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»

    Полный текст ошибки:

    cat /var/log/httpd/error_log

    Описание проблемы:

    При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») —  сеанс не запускается.

    Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).

    Решение:

    1. Убедиться, что selinux, действительно, работает.

    Если видим Enforcing, значит переходим к следующему пункту.

    2. Отключить selinux:

    3. Проверить, что настройка выполнена.

    Permissive – включен, но ничего не запрещает.

    Enforcing – включен, работает, и запрещает.

    Ошибка HTTP 404 Not found

    <strong>Пример полного текста ошибки:</strong>

    404 Error in Request. HTTP Status: 404 Not found

    <img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» />

    HTTP 404 Not found

    The webpage cannot be found

    Описание:

    После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.

    Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.

    Решение:

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

    Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.

    Проверить имена публикации базы(выделено):

    1. Конфигурационный файл *.conf:

    vim /etc/httpd/e1c/base.conf

    следующего содержания:

    Alias «/base» «/var/www/e1c/base/»

    <Directory «/var/www/e1c/base/»>

    AllowOverride All

    Options None

    Require all granted

    SetHandler 1c-application

    ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

    </Directory>

    2. Конфигурационный файл публикации базы *.vrd

    vim /var/www/e1c/base/default.vrd

    следующего содержания:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

    xmlns:xs=»http://www.w3.org/2001/XMLSchema»

    xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

    base=»/base»

    ib=»Srvr=1s-on-1c-1; Ref=base»>

    <ws>

    <point name=»ws_1s_on_1″

    alias=»ws_1s_on_1.1cws»

    enable=»true»/>

    <point name=»ws_1s_on_2″

    alias=»ws_1s_on_2.1cws»

    enable=»true»/>

    </ws>

    </point>

    point name – имя сервиса в конфигураторе;

    alias – это имя ссылки, по которой будем обращаться к веб-сервису.

    Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws

    Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

    Пример полного текста ошибки:

    Описание:

    При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

    Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

    Решение:

    Проверить имена веб-сервисов и ссылок на них.

      1. Конфигурационный файл публикации базы *.vrd

    vim /var/www/e1c/base/default.vrd

    следующего содержания:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

    xmlns:xs=»http://www.w3.org/2001/XMLSchema»

    xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

    base=»/base»

    ib=»Srvr=1s-on-1c-1; Ref=base»>

    <ws>

    <point name=»ws_1s_on_1″

    alias=»ws_1s_on_1.1cws»

    enable=»true»/>

    <point name=»ws_1s_on_2″

    alias=»ws_1s_on_2.1cws»

    enable=»true»/>

    </ws>

    </point>

    point name – имя сервиса в конфигураторе;

    alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.

    В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.

    1С:Предприятие 8.3. Проблема с публикацией информационной базы для работы через web

    На работе мы активно используем возможности платформы «1С:Предприятие 8.3» в качестве web-клиента. Проанализировав способы и затраты на разработку корпоративных приложений, мы решили сфокусироваться на технологиях от компании 1С. Это тема отдельного разговора, а сегодня мне бы хотелось поделиться решением небольшой проблемы, с которой мы столкнулись при публикации очередной информационной базы для работы через web.

    Суть в следующем. Есть у нас отдельный сервер для информационных баз с которыми работают удаленные клиенты. Изначально у нас была опубликована одна информационная база (именно для работы через web), и все работало как часы. Сегодня мы решили разместить на этом же сервере новую ИБ и столкнулись с проблемой доступа к базе через web. Публикация из конфигуратора проходила нормально – «1С:Предприятие» внесло соответствующие изменения в конфигурационный файл Apache (мы используем именно этот web-сервер), но при попытке обратиться к публикуемой базе через браузер получали ошибку:

    {"#exception":"{http://v8.1c.ru/8.2/virtual-resource-system}Exception","exception":{"clsid":"580392e6-ba49-4280-ac67-fcd6f2180121","reason":404,"descr":"HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу /base"}}

    С подобной ошибкой я раньше никогда не сталкивался и первым делом полез проверять конфиг в Apache. Ничего необычного там не увидел. Запись для второй публикуемой базы аналогичная той, которая уже работает. Следующим шагом проверил файлик vrd – тоже все ок. Было у меня предположение, что проблема может крыться в отсутствии прав доступа к директории с файликом vrd, но оказалось, что проблема не в этом.

    Промучившись полчаса, решил обратиться за помощью в Google. Увы, кроме аналогичных вопросов ничего хорошего он мне не выдал. Пришлось отправлять к начальной точке и в очередной раз перебирать конфиги.

    Не буду описывать дальнейшие действия, скажу лишь, что проблема оказалось в порядке записей опубликованных ИБ в самом конфигурационном файле Apache. Первая наша база была опубликована в корне, т.к. для нее был задан alias “/”. При обращении к site.com, Apache сразу переадресовывал на site.com/base1. Для новой ИБ мы выбрали другой алиас – «b2b/base» (условно) и из-за того, что он находился под «/» 1C возникала ошибка. Переставив записи местами (сначала новую базу, затем старую, которая в корне) – все заработало.

    Если вы столкнулись с подобной проблемой – попробуйте мой способ решения. Ради теста я опубликовал еще несколько баз и никаких проблем с доступом не возникло.

    Создайте письмо за 15 минут. Отправляйте до 1500 писем в месяц бесплатно.

    Ошибка 404, либо Error 404 Not Found появляется, если браузеру не удалось обнаружить на сервере указанный URL.

    Сообщение об ошибке 404

    Что означает ответ 404

    Error 404 Not Found отображается по-разному: «HTTP 404 не найден», «Ошибка 404 Not Found», «404 Страница не найдена». Смысл надписи всегда остаётся тем же: страница отсутствует либо просто не работает. Not Found в переводе означает «не найдено».

    Ошибка 404 — классический код ответа по протоколу HTTP. Он свидетельствует, что связь с сервером установлена, но информации по заданному запросу нет.

    Однако если просто ввести в поисковую строку произвольный набор символов, то браузер не покажет ошибку 404 Not Found — появится сообщение, что установить соединение с конкретным сервером невозможно.

    Разберёмся в техническом формировании ответа Error 404 Not Found.

    Техническая сторона вопроса. При связи по HTTP браузер запрашивает указанный URL и ждёт цифрового ответа. То есть любой запрос пользователя направляется на сервер размещения искомого сайта. Когда браузеру удаётся связаться с сервером, он получает кодированный ответ. Если запрос корректный и страница найдена, отправляется ответ с кодом 200 OK, что соответствует благополучной загрузке. При отсутствии страницы отправляется ответ об ошибке.

    Что значит код «404». В ответе 404 первая четвёрка указывает на то, что запрос был чрезмерно длительным или в самом адресе была ошибка. Ноль предполагает синтаксическую неточность. Завершающая цифра кода отображает конкретную причину ошибки — «4» означает отсутствие данной ссылки.

    Какие ещё ошибки бывают. Ошибку 404 не нужно путать с другими ответами, которые указывают на невозможность связи с сервером. Например, ошибка 403 сообщает, что доступ к URL ограничен, а ответ «Сервер не найден» свидетельствует, что браузер не смог обнаружить место размещения сайта.

    Google на 404 странице сообщает о возможных причинах ошибки

    Причины ошибки

    Причины, по которым HTTP возвращает ответ 404 Not Found:

    В большинстве ситуаций ошибка 404 отображается, когда не удаётся обнаружить нужную страницу на доступном сервере.

    Причины отсутствия страницы на сайте бывают разными

    Возможные последствия для сайта

    Нужно ли считать 404 ошибку опасной для сайтов? Кажется, что нет ничего плохого в том, что пользователь не смог открыть одну веб-страницу. Однако если такая ситуация будет повторяться регулярно, это чревато оттоком аудитории. Одни пользователи решат, что сайт вовсе не существует. Другие подумают, что лучше не заходить на сайт, который работает с ошибками. Третьи будут игнорировать ресурс, на котором не смогли получить обещанную информацию.

    Поисковые системы относятся к Not Found более лояльно. Например, Google отмечает, что 404 страницы не влияют на рейтинг. Но если при индексации роботы будут находить все больше ошибочных страниц, вряд ли это приведёт к более высокому ранжированию.

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

    Как выявить ошибку

    На небольшом ресурсе легко проверить работоспособность ссылок вручную. Но если на сайте сотни и тысячи страниц, без дополнительного софта не обойтись. Есть немало сервисов и программ, позволяющих находить битые ссылки. Рассмотрим некоторые из них.

    Search Console Google

    Консоль поиска Google позволяет находить страницы с ошибкой 404 за несколько кликов:

    Чтобы получить список страниц с ошибками, подтвердите права на ресурс — добавьте проверочную запись TXT в записи DNS регистратора домена. Такая запись не повлияет на работу сайта. Подробнее о процедуре подтверждения, читайте в справке Google.

    Для использования Search Console Google нужно подтвердить свои права на сайт

    Яндекс Вебмастер

    Сервис для вебмастеров от Яндекса поможет быстро найти все ошибки 404:

    Чтобы использовать Яндекс. Вебмастер, также нужно подтвердить право владения сайтом — добавить метатег в HTML-код главной страницы.

    Для входа в Вебмастер авторизуйтесь в Яндексе

    Screaming Frog

    Для начала загрузите и установите программу на компьютер. После запуска добавьте URL проверяемого сайта и начните поиск проблем. Неработающие ссылки можно искать даже в бесплатной версии.

    Инструмент SEO-паук в Screaming Frog помогает найти технические неисправности сайта

    SiteAnalyzer

    Эта бесплатная десктопная программа позволяет обнаружить технические погрешности на сайте. SiteAnalyzer быстро отыщет нерабочие и несуществующие ссылки.

    SiteAnalyzer бесплатно найдёт неработающие URL

    Как исправить ошибку Not Found

    Выбор конкретного решения зависит от причины ошибки:

    Удалять и менять ссылки вручную удобно только на небольших сайтах. Исправление ошибок на крупных порталах лучше автоматизировать. Например, с помощью специальных плагинов для внутренней перелинковки (Terms Description, Dagon Design Sitemap Generator) и для автоматического формирования адресов страниц (Cyr-To-Lat).

    Чтобы ошибки 404 появлялись как можно реже, достаточно соблюдать простые рекомендации:

    Мы разобрались, как найти и исправить ошибки Not Found внутри сайта. Но неработающая ссылка может быть расположена и на стороннем ресурсе. Допустим, когда-то на другом сайте разместили рекламную публикацию со ссылкой на определённую страницу. Спустя какое-то время страницу удалили. В этом случае появится ошибка 404. Устранить её можно, связавшись с администрацией ссылающегося сайта. Если же удалить/исправить ссылку нельзя, постарайтесь использовать ошибку с выгодой.

    Как сделать страницу 404 полезной

    Грамотно оформленная страница с ошибкой Error 404 Not Found — действенный инструмент конвертации посетителей. Ограничений по использованию страницы с ошибкой 404 нет. При этом практически все CMS позволяют настраивать дизайн этой страницы.

    Что публиковать на странице 404:

    При оформлении страницы-ошибки желательно опираться на рекомендации поисковиков:

    Главное — по возможности отказаться от стандартной страницы 404. Подумайте, как привлечь внимание пользователя. Расскажите ему об отсутствии искомой страницы и предложите взамен что-то полезное или интересное.

    Примеры оформления страниц 404

    Designzillas

    Мультяшная страница креативной студии привлекает внимание и её хочется досмотреть до конца. Если прокрутить страницу, можно увидеть, как из яйца вылупится дракон. При этом на странице есть ссылки на все основные разделы сайта.

    Меню на сайте Designzillas есть и на 404 странице

    Domenart Studio

    Веб-студия «Домен АРТ» использует красочную страницу 404, оформленную в единой стилистике ресурса. Заблудившимся пользователям предлагают попробовать ещё раз ввести адрес или перейти в нужный раздел.

    Контакты, поиск, меню — и всё это на 404 странице Domenart Studio

    «Эко Пауэр», дистрибьютор производителя источников питания, демонстрирует короткое замыкание как символ ошибки. Посетителям предлагают перейти на главную.

    Ошибка 404 «Эко Пауэр» выглядит как страница входа

    Дом со всем

    Компания «Дом со всем», занимающаяся бурением скважин, разместила на странице 404 свои контакты и перечень услуг. Со страницы можно перейти в любой раздел сайта или заказать обратный звонок. С таким наполнением посетителю не нужно искать дополнительную информацию где-то ещё.

    Компания «Дом со всем» предлагает заказать обратный звонок

    Kualo

    Страница 404 на веб-хостинге Kualo может заставить пользователя забыть, зачем он сюда пришёл. Увлекательная игра притягивает внимание. В конце игры посетителю предлагают посмотреть сайт хостинга.

    На странице Kualo можно просто поиграть и заработать скидки

    Рано или поздно с ошибкой 404 сталкивается большинство сайтов. При регулярной проверке можно своевременно исправить неработающие ссылки, чтобы в ответ пользователи получали код 200 OK. Но для крупного ресурса лучше настроить оригинальную страницу, которая будет отображаться при появлении ошибки Not Found и подскажет посетителям, что делать дальше.

    Ошибка 405 или 500 в HTTP сервисе 1С

    Блог

    Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.

    Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.

    Ошибка 405

    При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.

    Ошибка 500

    При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».

    Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.

    Расследование ошибок 405 и 500 в HTTP сервисе 1С

    Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.

    Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т. е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.

    На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.

    Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.

    В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.

    P. S. В последней версии платформы ошибка 405 перестала выходить.

    Обновление 12.01.2019

    В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.

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

    В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.

    Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.

    Источники:

    Https://www. unisender. com/ru/support/about/glossary/chto-oznachaet-oshibka-404-na-sajte-i-chto-s-nej-delat/

    Https://nizamov. studio/article-00001/

    Понравилась статья? Поделить с друзьями:
  • 1с2002 ошибка bmw
  • 1с0102 ошибка бмв f10
  • 1с0101 ошибка бмв f10
  • 1с эдо ошибка интерфейса модуля криптографии
  • 1с эдо неизвестная ошибка