Имя: Пароль:
1C
 
Проблема с публикацией Web-сервиса
, , ,
0 Dmitry999
 
13.06.19
07:44
Добрый день.
Столкнулся с проблемой обращения к опубликованному Web-сервису. При переходе по ссылке http://127.0.0.1/erpdemo2/ws/miko_crm_api.1cws?wsdl выходит следующая ошибка:

Session management header or a cookie with session ID is not specified.

Удалось выяснить, что ошибка исчезает если в файле публикации default.vrd параметр "reuseSessions" установить в значение "dontuse", но по документации к Web-сервису miko_crm_api этот параметр должен быть включён, то есть должен иметь значение "use".

При попытке выставить "reuseSessions" в "use" в стандартных Web-сервисах ERP, например exchange.1cws вышеуказанная ошибка начинает проявляться и в нём.

Подскажите, в чём может быть проблема.
1 Cyberhawk
 
13.06.19
07:48
Попробуй получать ВСДЛ-описание без точки с рафширением в адресе
2 Dmitry999
 
13.06.19
07:54
Пробую так:

http://127.0.0.1/erpdemo2/ws/miko_crm_api?wsdl

Теперь выходит приглашение на логин-пароль. Ввожу пользователя с нужными правами. Выходит ошибка:

Service not found.
3 Cyberhawk
 
13.06.19
08:00
Вот видишь - без .1cws уже что-то заработало )
Проверь в *.vrd-файле, какой алиас в нужном узле point.
4 Dmitry999
 
13.06.19
08:03
<point name="микоПровайдерAPI"
alias="miko_crm_api.1cws"
enable="true"
reuseSessions="use"
sessionMaxAge="3000"
poolSize="10"
poolTimeout="5"/>
5 Cyberhawk
 
13.06.19
08:07
А в метаданных веб-сервиса повторное использование сеансов-то стоит?
6 Dmitry999
 
13.06.19
08:12
Повторное использование сеансов равно "Использовать"
7 Dmitry999
 
13.06.19
08:14
Проблема явно на стороне web-сервера. Хотя я пробовал и Apache и IIS. Ошибка везде одинаковая.
8 Cyberhawk
 
13.06.19
08:24
А, отбой по поводу (5) - файл *.vrd имеет приоритет над свойством в метаданных
9 Cyberhawk
 
13.06.19
08:24
Ну раз (6), значит нет никакой проблемы - для этого режима указание спец. заголовков обязательно, получение ВСДЛ-описания работать не будет
10 Cyberhawk
 
13.06.19
08:33
Хотя надо проверить. Если заголовок ibsession не указан, то по идее сеанс все равно должен создаваться, просто безусловно новый.
11 Cyberhawk
 
13.06.19
08:38
Проверил, все так: при значении "use" получение ВСДЛ-описания не работает. Так и задумано, вестимо. Хотя могли ребятки из 1С и сделать удобств. Но это не про них )
12 Cyberhawk
 
13.06.19
08:40
Короче раз в документации сказано ставить "use" - ставь. Все будет работать, ведь запросы к этому веб-сервису будут создаваться с нужным доп. заголовком.
13 Dmitry999
 
13.06.19
08:45
Решено.
Добавил http-заголовок "IBSession" со значением "start".
Делал с помощью расширения для хрома: "Modify Headers for Google Chrome"

При переходе по ссылке http://127.0.0.1/erpdemo2/ws/miko_crm_api.1cws?wsdl теперь отображается xml-текст.

Информацию нашёл здесь:
https://wonderland.v8.1c.ru/blog/povyshenie-proizvoditelnosti-veb-servisov/

Спасибо Cyberhawk'у!