Web сервис 1с сервис не найден
Так же рекомендую прочитать следующие статьи.
Общая инструкция по настройки локального веб сервера для публикации 1С выглядит следующим образом.
1 Необходимо настроить сам веб сервер.
2 Установить компонент «Модули расширения веб-сервера».
3 Опубликовать базу.
Самый простой вариант (как я изначально думал) настройки веб сервера это использование готовой сборки, я решил воспользоваться XAMPP, установил запустил, все работает, далее установил «Модули расширения веб-сервера». Остался последний пункт это публикация на веб -сервер.
Проверил еще раз сам веб сервер, все работало исправно ошибок ни каких не было.
Попробовал переустановить модуль.
Но результата не было.
Правильная настройка локального веб сервера для публикации базы 1С
После посещения нескольких форумов выяснил, что 1С корректно работает только с веб-сервером Apache версии 2.4.
Скачиваем Apache 2.4 с официального сайта распаковываем архив, для удобства использования и настройки папку Apache24 из архива, копируем в корень диска С.
Остается только установить Apache в качестве службы, для этого запускаем командную строку от имени администратора и переходим в папку Apache введя команду.
Далее устанавливаем службу
Остается только проверить запустилась она или нет.
Теперь пробуем опубликовать.
И проверяем работоспособность введя в браузере.
InfoBase — это имя вашей базы которое вы указывали во время публикации.
Теперь можно проверять работу созданных веб сервисов. Я всегда стараюсь писать статьи как можно меньше
1С Предприятие это программный продукт который позволяет очень легко и быстро автоматизировать работу в какой либо организации. Сейчас наверно не возможно найти организацию в которой бы не использовалось какая либо конфигурация 1С. Поэтому уметь с ней работать должен каждый ИТ специалист даже начинающий. Необходимо обладать хотя бы навыками администрирование, подключение клинетов, настройка доступа, обновление и т.д. Так же нужно знать как решать самые элементарные ошибки которые возникают во время работы и запуска 1С. Таких ошибок достаточно много, о некоторых я уже рассказывал в следующих статьях, с которыми Вам обязательно нужно ознакомиться.
Сегодня рассмотрим еще одну, она возникает в момент запуска информационной базы которая опубликована на веб сервере.
Если нажать «Подробно» то можно увидеть.
Решить проблему можно отключив проверку, для этого выбираем базу и жмем «Изменить».
Потом нужно нажать «Дополнительно».
Первое окно пропускаем.
А в следующем выбираем «Не предоставлять сертификат» и «Не проверять сертификат сервера».
Теперь все должно запуститься, но помните что это не безопасно, так как есть вероятность перехвата данных.
Цель блога описать интересные и полезные примеры программирования в системе 1С:Предприятие 8.
воскресенье, 14 октября 2012 г.
1С:Предприятие 8. Веб-сервисы. Реализация веб-сервиса
После этих действий веб-сервисом можно будет пользоваться. Таким образом будет создан веб-сервис, который сможет оперировать только простыми типами данных.
Откройте конфигурацию и в дереве метаданных найдите ветку "Общие - Web-сервисы". Нажмите правой кнопкой и добавьте новый элемент.
Имя веб-сервиса можно задать русское. И платформа его сохранит и опубликует, но рекомендую использовать латиницу в названиях веб-сервисов, ws-операций, параметров ws-операций. Например, chrome не смог отобразить wsdl файл веб-сервиса с русским именем.
Перейдите на вкладку "Прочее" и укажите параметр "URI пространство имен".
В документации об этом параметре написано чуть больше чем ничего, примерно то, что это поле служит для идентификации вашего веб-сервиса. Когда я делал свой первый веб-сервис, мне казалось что это ссылка на сайт, на котором я публикую свой веб-сервис и все наименования буду получаться через запрос к этому сайту. На самом деле "URI пространство имен" не что иное как строка определяющая название набора ваших имен (названий веб-сервиса, операций, параметров, типов данных и т.д.). То есть если вы объявите свой тип "integer" то xml-парсер не будет ругаться, так как этот тип принадлежит вашему пространству имен. Мало того если "URI пространство имен" будет содержать русские символы и не будет соответствовать стандарту как формат URI, платформа все равно опубликует такой веб-сервис, и он будет работать. Но по стандартам рекомендуется использовать URI ссылку. Я советую того же самого.
Простое и понятное объяснение пространства имен можно прочитать тут.
Поле "Пакеты XDTO" не обязательное. Оно определяет набор пакетов XDTO в которых вы можете оказать свои типы значений. Это не обязательное поле, по умолчанию вам всегда доступны типы пространства имен "http://www.w3.org/2001/XMLSchema". О пакетах XDTO я расскажу чуть позже.
"Имя файла публикации", это имя файла, в котором хранятся настройки веб-сервиса для Apache(путь к базе и другие) после публикации. Папка, в которой находится этот файл, определяется при публикации. О публикации на веб-сервере будет рассказано позже.
Веб-сервис создан, но еще нет ни одной функции которую он мог бы исполнить. Надо добавить операцию. Для этого добавьте в созданный веб-сервис операцию. Нажмите не веб-веб-сервис правой кнопкой и выберите "Добавить-Операция". Она будет к вашему операнду прибавлять 2 и возвращать значение. Давайте назовем ее "Plus2". Можно указать и русское название, многие клиенты его обработают, но все же могут возникнуть проблемы.
"Тип возвращаемого значения" это тип описанный в указанном вами пакете XDTO или же тип из пространства имен "http://www.w3.org/2001/XMLSchema". Именно в этом типе веб сервис будет возвращать значение.
"Возможно пустое значение" признак что ws-операция может не вернуть значение( nillable webkit-html-attribute-value" style="font-family: monospace; font-size: 13px;">true " ).
"В транзакции" указывает что код веб-сервиса будет выполняться в транзакции. А "Режим управления блокировкой данных" определяет тип блокировки данных при транзакции по умолчанию.
Установим тип возвращаемого значения в int. В поле "Имя метода" укажем имя "Plus2" для нового метода, который будет выполнять обработку. При нажатии на лупу метод будет автоматом создан в модуле веб-сервиса.
Напишем простой код.
Функция Plus2(Параметр)
Возврат Параметр+2;
КонецФункции
Вы заметили что на входе функции у нас есть параметр "Параметр". Для того что бы в метод этот параметр был передан надо добавить его в дереве метаданных. Для этого щелкните правой кнопкой по веб-операции Plus2 и выберите "Добавить-Параметр".
Давайте назовем его "Param". Названия параметров тоже можно указывать русскими, мало того класс SoapClient языка PHP работает с ними корректно, ведь параметры передаются через массив. Желательно использовать кодировку UTF-8.
Укажем "Тип значения" int из пространства имен "http://www.w3.org/2001/XMLSchema".
Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.
Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).
В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без графической оболочки, то публикация через привычное окно конфигуратора становится невозможной.
Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.
О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.
Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.
Итак, что делать, если не получается опубликовать веб-сервис 1С?
Список возможных ошибок:
Полный текст ошибки:
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…»
Полный текст ошибки:
Описание ошибки:
Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.
Решение:
Решаемая задача: Восстановление работоспособности сервера и программы 1С.
Для выполнения описанных действий требуется учетная запись Администратора.
Проверка программ и служб на работоспособность
Шаг 1. Проверяем доступность порта соединения
Этот адрес меняется в зависимости от версии 1С:
- C:\Program Files (x86)\1cv8\ \bin — для 32-разрядной версии сервера «1С:Предприятие» версии 8.3
- C:\Program Files\1cv8\ \bin — для 64-разрядной версии сервера «1С:Предприятие» версии 8.3
- C:\Program Files (x86)\1cv82\ \bin — для 32-разрядной версии сервера «1С:Предприятие» версии 8.2
- C:\Program Files\1cv82\ \bin — для 64-разрядной версии сервера «1С:Предприятие» версии 8.2
Шаг 2. Проверяем в процессах есть ли «rphost.exe» «ragent.exe» «rmngr.exe», он должен быть активен.
Шаг 3. Проверяем запущен ли агент сервера 1С в службах и сравниванием версию и порт в строке «Исполняемый файл»
Шаг 4. Проверяем работоспособность сервера MS SQL
Выполняем: Пуск – Программы - Microsoft SQL Server 2008 R2 (у Вас может быть любая версия ) - Средства настройки.
Напротив служб «SQL Server» и «Агент SQL Server» должен быть статус Работает.
Если всё запущено и не работает
Шаг 5. Останавливаем службу 1С
В командной строке:
Шаг 6. Переходим к удалению процессов
Далее по очередности удаляем процессы:
Шаг 7. Чистим временные папки и файлы
Далее нужно будет почистить папки 1С с временными файлами с папками типа:
Читайте также: