Проблема публикации веб-сервисов

1. fedor_sh 15.03.14 19:56 Сейчас в теме
Всем привет. Версия 1с 8.2.19.90, вебсервер apache 2.2. Публикую 1с и вебсервисы на вебсервере. Могу спокойно зайти в 1с через браузер (
http://127.0.0.1/torg/), а вот при создании ws ссылки на мой вебсервис вызывает ошибку "Ошибка разбора XML. Фатальная ошибка. Extra content at the end of the document". Через веб-браузер файл отображается. Создаю абсолютно новую(пустую) базу и на ней все нормально публикуется и вебсервисы доступны. Тестировал через ws ссылку. Подскажите в какую сторону рыть?
adhocprog; +1 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tivrobo 06.05.14 23:03 Сейчас в теме
Нашел решение но для IIS:
Меня смущало, что создав сервис на чистой базе я мог спокойно добавить его в WS-ссылки, но если в базе был хоть один пользователь я мог обратиться к нему через браузер, после авторизации, а добавление в 1С уже выдавало аналогичную ошибку.
Продолжив разбираться, я начал смотреть трафик с помощью Wireshark, там было видно, что 1С не авторизировалась, поэтому на запрос приходил ответ 401 Unauthorized (тело ответа и содержит эти "Extra content at the end of the document", т.к. не является XML :))
Стал рыть в сторону авторизации, пробовал добавить авторизацию в VRD-файл, передавать логин и пароль в ссылке, не помогло...
В итоге помог решить вопрос вот этот ответ:
http://www.forum.mista.ru/topic.php?id=341168#4
Оказывается веб сервис обращается к базе 1С используя учетную запись анонимного пользователя (в случае использования авторизации 1С) поэтому в базе необходимо было создать пользователя и привязать его к учетной записи анонимного пользователя с помощью Windows-аутентификации.
Наверно это написано в какой то умной книге по 1С, в руководстве администратора я этого не нашел, но все равно рад решению проблемы :)
Надеюсь вам поможет.
P.S. не бойтесь использовать встроенный в Windows IIS сервер, вместо Apache.
RobinBobin; +1 Ответить
3. baracuda 2 24.01.15 15:27 Сейчас в теме
Аналогичная проблема. Есть ли решение для Apache??
4. madibai 24.02.15 08:14 Сейчас в теме
(3) baracuda,
ДД, нашли решение для апачи?
5. Orkrist 25.02.15 12:17 Сейчас в теме
(3) baracuda, (4) madibai,
У меня на IIS сработал следующий вариант, но думаю тут не важно какой веб-сервер используется:
Если удается получить файл XML через веб-браузер, тогда сохраняем его на жесткий диск. В самом конце файла изменяем адрес веб-сервиса на необходимый, потому как по умолчанию прописывается тот, который вы указали в браузере. Затем при импорте WSDL в поле "Введите URL импортируемого WSDL" копируем путь к этому XML-файлу и в результате WS-ссылка загрузилась из этого XML-файла. Правда сначала мне пришлось перекодировать файл в UTF-8, иначе возникала ошибка.
ksu_r; HIVvich; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот