1с веб серверы не обнаружены
Зашел через RDP на вин 2008 сервер. Остановил IIS 7.
Установил Апач, указал имя Localhost. Опубликовал базу, типовая БП 3.0, имя KapBuh, каталог "D:\Base\KapBuh\".
В каталоге появился файл default.vrd.
Вбиваю там же на сервере Localhost в браузере, получаю "It works!"
Вбиваю http://localhost/KapBuh/, получаю "Не удается найти веб-страницу HTTP 404"
Обычным способом, не через веб-сервер все нормально.
В чем может быть причина ?
Если у тебя имя сервера "Localhost", а в браузере ты пишешь "localhost", то конечно не зайдет. У тебя же нет такого сервера.
(0) 1) Посмотри псеводним этой поубликованной базы, он может быть другим, а в адресной строке идешь по псеводниму.
2) Крайне рекомендую псевдонимы и все что идет в адресную строку делать в нижнем регистре, ибо что то регистрозависимое,ю а что то нет, я лично напарывался
Самый быстрый пример коллизии - механизм блокировки баз из БСП при указании сервера и базы - регистрозваисимость, во всех осталльных механизмах - регистрозависимости нет
Апач предлагает перезагрузиться в момент публикации, пишет, что перезапущен.
Пробую из Апач-монитора, не дает. Смотрю в сервисе, там Апач отключен. Вручную запустить не дает.
Перезагрузил сервер, Апач не стартанул.Вручную не запускается.
Удалил, заново поставил, запустился. Если остановить и попробовать запустить заново или рестарт из монитора, тогда отключится и заново не даст включиться.
Я ставил 2.2 у себя на Вин10 х64, еще на вин2012 сервер. Там все нормально. А тут на вин2008 сервере что-то не взлетело :( Ставил Win32
LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.13.1513/bin/wsap22.dll"
Так у меня же 1С 32.
Попробовал сейчас заново установить Апач и несколько раз останавливал, запускал, делал рестарт. Все отлично. Стоит опубликовать хоть одну базу, после этого рестарт не работает, и сам сервис фиг запустишь, только удалять и заново ставить.
(20) у тебя в (15) почему то апач русское имя сервера получил или что то с кодировкой не то типа ожидал в UTF а получил в CP1251 или наоборот
(24) Там и 32 бит апач есть.
И проверь, может после публикации базы в строке
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.14.1565/bin/wsap24.dll"
у тебя вместо "Program Files" становится "Program Files (х86)" или наоборот. Такое тоже бывает.
Уже грохнул Апача. Счас попробую обновить ОС и заново поставить платформу.
А то когда ставил платформу, забил на предупреждение, т.к. COM connector и консоль кластера не актуальны.
(26) LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.13.1513/bin/wsap22.dll"
так и должно потому,что у меня 1С 32х.
Почти в тему.
Как сделать запуск через веб ?
1) С локального компьютера через браузер, прописав путь к базе на сервере ?
2) С локального компьютера через запуск 1С где прописать путь к базе на сервере ?
Интересует как в плане скорости работы 1С так и чтобы разрешение/масштаб экрана остались как на локальном, а там 22 дюйма 4К монитор.
(29) в 1с 2д графика, да ещё и в последних версиях генератор форм на клиенте частично, но как поведет визуалка не известно.
Я знаю что люди работают на расширениях больше чем фулл hd, но эпизодически в баг трекере есть ошибки поведения стандартных панелей на больших расширениях.
Зашел через RDP, попробовал там через адресную строку в Хроме. Тормозит жутко.
Попробовал опять же через RDP, но прописав путь к веб-серверу, указав Тонкого клиента и запустил через 1cestart. Та же фигня, из ОСВ надо секунд 5-6 ждать открытия карточки счета, а оттуда открытие документа еще секунд 10.
Так же рекомендую прочитать следующие статьи.
Общая инструкция по настройки локального веб сервера для публикации 1С выглядит следующим образом.
1 Необходимо настроить сам веб сервер.
2 Установить компонент «Модули расширения веб-сервера».
3 Опубликовать базу.
Самый простой вариант (как я изначально думал) настройки веб сервера это использование готовой сборки, я решил воспользоваться XAMPP, установил запустил, все работает, далее установил «Модули расширения веб-сервера». Остался последний пункт это публикация на веб -сервер.
Проверил еще раз сам веб сервер, все работало исправно ошибок ни каких не было.
Попробовал переустановить модуль.
Но результата не было.
Правильная настройка локального веб сервера для публикации базы 1С
После посещения нескольких форумов выяснил, что 1С корректно работает только с веб-сервером Apache версии 2.4.
Скачиваем Apache 2.4 с официального сайта распаковываем архив, для удобства использования и настройки папку Apache24 из архива, копируем в корень диска С.
Остается только установить Apache в качестве службы, для этого запускаем командную строку от имени администратора и переходим в папку Apache введя команду.
Далее устанавливаем службу
Остается только проверить запустилась она или нет.
Теперь пробуем опубликовать.
И проверяем работоспособность введя в браузере.
InfoBase — это имя вашей базы которое вы указывали во время публикации.
Теперь можно проверять работу созданных веб сервисов. Я всегда стараюсь писать статьи как можно меньше
1С Предприятие это программный продукт который позволяет очень легко и быстро автоматизировать работу в какой либо организации. Сейчас наверно не возможно найти организацию в которой бы не использовалось какая либо конфигурация 1С. Поэтому уметь с ней работать должен каждый ИТ специалист даже начинающий. Необходимо обладать хотя бы навыками администрирование, подключение клинетов, настройка доступа, обновление и т.д. Так же нужно знать как решать самые элементарные ошибки которые возникают во время работы и запуска 1С. Таких ошибок достаточно много, о некоторых я уже рассказывал в следующих статьях, с которыми Вам обязательно нужно ознакомиться.
Сегодня рассмотрим еще одну, она возникает в момент запуска информационной базы которая опубликована на веб сервере.
Если нажать «Подробно» то можно увидеть.
Решить проблему можно отключив проверку, для этого выбираем базу и жмем «Изменить».
Потом нужно нажать «Дополнительно».
Первое окно пропускаем.
А в следующем выбираем «Не предоставлять сертификат» и «Не проверять сертификат сервера».
Теперь все должно запуститься, но помните что это не безопасно, так как есть вероятность перехвата данных.
Файлик .1cws сформировал руками, положил в каталог веб-сервера. Пользователь и пароль информационной базы также прописаны в файле следующим образом:
После указания данных пользователя пароль не запрашивается.
В предлагаемом тексте все переменные в [] заменить на свои, скобки убрать. В самом файле вместо " писал "
И, кстати, если я не ошибаюсь, на одном сервере одновременно веб-сервисы от 8.1 и 8.2 работать не будут.
(3) не ошибаешься. Нужна два инстанса Апача. А физический сервер может быть один. Модули 1С, подключаемые к web серверу, между собой не совместимы.
(2) допустим делаю также, в 1cws-файле меняю путь к базе 8.2, в конфиге апача прописываю путь до dll-ки 8.2, при запросе описания wsdl выскакивает окошко с пользователем и паролем
пример файла summary.1cws
httpd.conf
LoadModule _1cws_module "C:/Program Files/1cv82/8.2.9.356/bin/wsap22.dll"
Alias /ws "С:/wamp/www/ws"
DirectorySlash Off
SetHandler 1cws-process
Allow from all
(7)исправил Администратор на admin , есессно завел такого же пользователя в базе с тем же паролем, результат тот же самый, запрашивает имя пользователя и пароль.
(9) да, есть, на папку D:\1c_bases\asudp_82 на вкладке "Безопасность", где "Все" стоят абсолютно все галочки, апач висит в системе от моего пользователя, т.е. от администратора
в строке браузера набираю http://xxxx/ws/summary.1cws?wsdl выскакивает запрос имени пользователя и пароля, ввожу admin, пароль 123, все нормально открывает. Может что-то неправильно здесь Usr="admin";Pwd="123";? попробую изменить что-нибудь
Попробуй заменить " на & quot;
Мой файл в прикреплении.
При копировании & quot (без пробела) на форуме отображается как двойные кавычки.
(13) а у тебя версия тоже 8.2.9.356? уже по-моему все варианты перебрал, и полностью твой файл подставлял, изменял только название сервиса и путь, пока не выходит.
(14) у меня дома нет 8.2, только 8.1. Завтра с работы выложу файл публикации.
Вообще-то в 8.2 1С отказалась от публикации с помощью файлов 1cws, но ведь работает.
Вот мои файлы с русскими буквами в пути.
Все работает.
(17) не, с русскими буквами понятно что работает. У меня проблема в том, что при запросе http://xxxx/ws/summary.1cws?wsdl запрашивает логин и пароль, хотя в файле summary.1cws прописана строка Usr="admin";Pwd="123";, естественно такой пользователь с таким паролем в базе есть
- и в этом окне еще два поля "Имя пользователя" и "Пароль", ввожу в эти поля "admin", пароль "123" (такой пользователь есть в базе 1С), все нормально, показывает описание wsdl.
Вся проблема в том и состоит, что в базе 8.1, не запрашивает логин и пароль когда в файле summary.1cws есть строка Usr="admin";Pwd="123";, а в базе 8.2 запрашивает.
О! Друг по несчастью! )
У меня так и не получилось опубликовать Web-сервис, который крутится на 8.2.
Вроде разобрался и с правами, и с конфигурационным файлом Апача, и с публикацией. Но все что удалось добиться - это то что восьмерка говорит "апликейшн эрор" при попытке получить wsdl-описание сервиса! :(
Кстати! А вы в курсе, что публикация web-сервисов через файлы 1cws не поддерживается в 8.2? :)
(26) не, у меня опубликовать получилось, но только вручную. все нормально работает, только запрашивает логин и пароль,
как я понял, необходимо при вызове web-сервиса передавать логин и пароль для соединения с базой 1с, но с этим пока еще не разобрался.
а насчет того что 1cws не поддерживается - это пошутили наверно :)
(24) Пободался с анонимным доступом к 8.2. У меня тоже не вытанцовывается. Похоже прикрыли. Странно.
На всякий случай прикрепляю пример файла публикации 8.2 с web сервисом.
На пхп авторизованный доступ делается как-то так:
$Клиент1С = new SoapClient("http://localhost:8080/demo/ws/hello_vedmed.1cws?wsdl",
array('login' => 'lyay',
'password' => '123456',
'soap_version' => SOAP_1_2,
'cache_wsdl' => WSDL_CACHE_MEMORY, //WSDL_CACHE_NONE, WSDL_CACHE_NONE, WSDL_CACHE_DISK or WSDL_CACHE_BOTH
'exceptions' => 1,
'trace' => 1));
(21) >> Все правильно запрашивает. Так и надо.
Неправильно. В 8.1 анонимный доступ делался легко. Прописываешь имя/пароль в файле 1cws и настаёт счастье. В 8.2 прикрыли. Редиски.
Прикольная шутка, в документации! ) И если публиковать из конфигуратора, то он vrd-файл создает и для базы, и для сервиса.
(32) у меня вообще не дает опубликовать! пишет "Web-серверы не обнаружены" и хоть ты тресни, не обнаружены и все! хотя стоит апач и нормально работает
В версии 8.1 была чудесная возможность организовать анонимный доступ к web сервису для этого достаточно было прописать в файле 1cws имя и пароль пользователя. Вот так:
В версии 8.2 пытаемсясь сдалать тоже самое и не получается. Самое любопытное что хоть в документации и объявлено что файлы 1cws не используются, но они работают.Только вот имя и пароль пользователя прописанные там 1С игнорирует и требует авторизации.
Пробовал прописать имя и пароль в файле "default.vrd" вот так.
Но всё-равно не работает.
В связи с этим несколько вопросов:
1. Такую интересную возможность убрали специально или есть надежда что вернут обратно?
2. Допустимо ли использование старых файлов 1cws или эту возможность скоро прикроют?
Для обхода проблемы можно попробовать следующий способ:
- для виртуального каталога IIS, через который опубликован веб-сервис, настроить анонимный доступ
- в информационной базе, для пользователя, от имени которого должны выполняться вызовы веб-сервиса, настроить аутентификацию средствами ОС, используя анонимного пользователя IIS.
Один из сценариев публикации базы 1С — использование веб-сервера Apache на системе Windows. Это может быть актуально, если мы больше доверяем данному веб-серверу, вместо встроенного в Windows IIS. Описанные действия применимы для любой версии Windows от 7 до Server 2019. В моем примере использовались Windows Server 2012 R2, Apache 2.4, 1C 8.3.
Установка Apache
Переходим на страницу загрузки официального сайта Apache и скачиваем нужную версию программы:
* в данном примере скачивается одна из последних версий на момент обновления инструкции — 2.4.46 для системы x64 с поддержкой SSL.
Загруженный архив распаковываем в любой каталог, например, C:\Apache24.
Открываем командную строку от администратора и переходим в папку bin каталога, куда распаковали apache — в нашем случае:
Запускаем установку apache как сервиса Windows:
Мы должны увидеть:
* наш веб-сервер успешно установлен.
В процессе запуска службы сразу после установки может выскочить ошибка. Нужно просто запустить Apache вручную. Для этого открываем службы Windows командой:
Находим сервис с названием Apache и запускаем его:
Установка завершена, и мы можем переходить к публикации.
Публикация базы 1С
Мы можем опубликовать базу с помощью графической оболочки или утилиты webinst из командной строки. Мы рассмотрим оба варианта.
Также нужно отметить, что веб-сервер и сервер 1С могут быть на разных компьютерах.
Графический интерфейс
Запускаем 1С и выполняем вход в базу в режиме конфигуратора.
Переходим в пункты меню Администрирование - Публикация на веб-сервере:
В открывшемся окне вводим имя для базы, выбираем веб-сервер Apache и указываем каталог, куда будут помещены конфигурационные файлы для публикации базы:
* имя базы и путь могут быть любыми, но желательно, чтобы они были такими же, как имя самой базы.
Нажимаем кнопку Опубликовать — мы должны увидеть результат выполнения команды:
* если мы получим ошибку Веб серверы не обнаружены, необходимо убедиться, что служба Apache находится в состоянии «Работает».
Система нам предложит перезапустить веб-сервер, чтобы изменения вступили в силу. Однако, с веб-сервером Apache это не всегда работает корректно, поэтому просто отказываемся от перезапуска:
. и идем в службы Windows:
Находим службу Apache, кликаем по ней правой кнопкой мыши и выбираем Перезапустить:
Командная строка
В командной строке, запущенной от администратора, переходим в каталог с программой 1С, например:
cd C:\Program Files\1cv8\8.3.18.1208\bin
* обратите внимание, что в вашем случае версия будет другой. Необходимо посмотреть правильный путь и ввести его.
После вводим команду:
а) файловый вариант:
- apache24 — версия нашего веб сервера и тип самого сервера.
- wsdir — имя публикации для базы.
- dir — каталог для хранения файлов публикации.
- connstr — путь до базы. В случае хранения базы в файле пишем путь до нее. Если используется сервер 1С, то пишем его адрес и имя базы.
- confpath — путь до конфигурационного файла Apache.
Мы должны увидеть:
net stop Apache2.4 && net start Apache2.4
Запуск
Несколько баз
Если нам нужно опубликовать несколько баз на одном веб-сервере, то просто повторяем действия:
Читайте также: