|
Повторное использование сеансов в http сервисах с ошибками | ☑ | ||
---|---|---|---|---|
0
EarthsSoul
16.06.17
✎
05:52
|
Добрый день
Пытаюсь применить следующую статью https://wonderland.v8.1c.ru/blog/povyshenie-proizvoditelnosti-veb-servisov/ Для http сервиса в свойстве повторное использование сеансов поставил Использовать, переобуликовал http сервис. В postman делаю запрос в котором добавил заголовок IBSession со значением start. В коде 1с ничего не правил, я так понимаю автоматически к ответу в 1с должен добавиться IBSession с указанием сеанаса. Я так понимаю в заголовке или в куках ответа должен быть ключ IBSession. В ответ не приходит ключ IBSession. Что делаю не так ? Перезапустил сервис апач и на всякий случай перезапустил севрис 1с, и в файле default.vrd имеется запись reuseSessions="use" для моего http сервиса. Дальнейшие запросы под разными пользователями с заголовком IBSession со значением start (или без заголовка) выдают ошибку Платформа 1С:Предприятие 8.3 (8.3.10.2299) { "#exception": "{http://v8.1c.ru/8.2/virtual-resource-system}Exception", "exception": { "clsid": "580392e6-ba49-4280-ac67-fcd6f2180121", "reason": -3, "descr": "Ошибка работы сеанса\nОшибка при выполнении запроса POST к ресурсу /hs/api/user/login:", "#inner": "{http://v8.1c.ru/8.2/managed-application/seancecontextexception}SeanceContextException", "inner": { "clsid": "60c686dc-798f-4d17-aadb-a90156a16eb8", "reason": 1, "descr": "Сеанс отсутствует или удален\nID=31e0f9f2-6007-4536-8d65-cf1f48ad890f, File=src\\ClusterDistribImpl.cpp(1169)" } } } То же самое поведение только для платформы 1С:Предприятие 8.3 (8.3.9.1818) Только строка ошибки отличается немного "Сеанс отсутствует или удален ClusterDistribImpl.cpp(1062) (Перезагрузка всего сервера не спасает ошибка в базе остается на совсем, создаю просто новую базу в 1с сервер со ссылкой на базу существующую базу PostgresSQL, и все повторяется…) |
|||
1
EarthsSoul
16.06.17
✎
06:01
|
У меня апач используется.
Я так понимаю в заголовке или в куках ответа должен быть ключ IBSession и он должен прикрепиться платформой, верно ? У кого опыт есть в данном направлении ? Какой релиз платформы использовали ? Может ли СУБД влиять? Что делаю не так ? |
|||
2
EarthsSoul
16.06.17
✎
08:47
|
Up
|
|||
3
sFAQer
16.06.17
✎
08:58
|
Время жизни сеанса сколько?
|
|||
4
sFAQer
16.06.17
✎
09:00
|
(1) Что значит он должен прикрепится платформой? В куках тебе прийдёт индентификатор сессии, потом с этими куками ты должен будешь последующие запросы делать...
|
|||
5
EarthsSoul
16.06.17
✎
09:38
|
(3) время жизни пока по умолчанию стандартное 20
(4) в коде 1с я пишу Ответ = Новый HTTPСервисОтвет(code); Ответ.Заголовки.Вставить("Content-type", "application/json; charset=utf-8"); Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); Откуда появится куки их же явно указывать не надо, это делает платформа ? Я как то должен дополнительно указывать в коде необходимость возврата идентификатор сессии в куки ? Для тестирования postman подходит ? |
|||
6
sFAQer
16.06.17
✎
10:07
|
(5) В ответе в куки тебе платформа положит, при последующих запросах к этому сервису их нужно будет подсовывать, это не на стороне 1С, это со стороны внешнего приложения.
А в Администрировании ИБ, сколько время жизни спящего сеанса? |
|||
7
Вафель
16.06.17
✎
10:09
|
Тут вроде проблема с сервером 1С. сеансы дропаются. явно что рпхосты падают
|
|||
8
Вафель
16.06.17
✎
10:10
|
попробуй релиз посвежее
|
|||
9
EarthsSoul
16.06.17
✎
10:15
|
У меня ошибки проверенны на двух релизах
1С:Предприятие 8.3 (8.3.10.2299) 1С:Предприятие 8.3 (8.3.9.1818) |
|||
10
sFAQer
16.06.17
✎
10:15
|
(5) А autouse чем не подошёл?
|
|||
11
sFAQer
16.06.17
✎
10:17
|
(9) Сервис повторного использования сеансов - На кластере жив?
|
|||
12
EarthsSoul
16.06.17
✎
10:18
|
(6)
Время засыпания пассивного сеанса 1200 Время завершения спящего сеанса 86400 Значения стандартные не менял еше... |
|||
13
sFAQer
16.06.17
✎
10:19
|
(9) И да статьями с вундерленда лушче не пользоваться, т.к они пишутся во время реализации и без последующей правки, т.е могут быть не актульными.
http://its.1c.ru/db/v839doc#bookmark:dev:TI000001852 |
|||
14
EarthsSoul
16.06.17
✎
10:19
|
(10) попытка сделать с учетом последних технологий и есть вероятность что при реально эксплуатации это будет важно
|
|||
15
EarthsSoul
16.06.17
✎
10:21
|
(11) как это определяется ?
|
|||
16
EarthsSoul
16.06.17
✎
10:22
|
(13) спасибо конечно уже читал, по ссылке ничего нового. И конечно приму во внимание что лучше использовать ИТС
|
|||
17
sFAQer
16.06.17
✎
10:26
|
(15) Хороший вопрос) Ну если кластер из коробки то пофигу. А в базе есть активные сеансы?
|
|||
18
sFAQer
16.06.17
✎
10:29
|
(14) А зачем вообще сервис? Если не секрет.
|
|||
19
EarthsSoul
16.06.17
✎
10:30
|
(18) мобильное приложение кладовщика на базе Андроид, моблиьно приложение стремятся сделать без кэширования
|
|||
20
sFAQer
16.06.17
✎
10:31
|
(19) А конфа какая?
|
|||
21
EarthsSoul
16.06.17
✎
10:34
|
(19) УТ сильно дополненная 11.2.3.177
(17) протестировал и с активными сеансами, результат тот же |
|||
22
EarthsSoul
16.06.17
✎
10:35
|
Тут обнаружил что версия клиента и сервера отличается. Сервер старый (1С:Предприятие 8.3 (8.3.9.1818)), через пару часов заменю сервер.
Не кажется проблема не в этом... |
|||
23
sFAQer
16.06.17
✎
10:35
|
(21) В ут есть веб сервис для работы со складом, WMSMobileClientExchange как раз под мобильные приложения, может не изобретать велосипед?)
|
|||
24
EarthsSoul
16.06.17
✎
10:37
|
(23) там другие аналитики, другие принципы. Но решение из коробки для удобной работы в принципе не бывает, так как имеют универсальные подходы. Так что конечно точно не подойдёт
|
|||
25
sFAQer
16.06.17
✎
10:47
|
(24) А если не через приложение, а просто через браузер сервис дёрнуть?
|
|||
26
sFAQer
16.06.17
✎
10:49
|
(24) Ну на GET повесить какой нибудь метод ессесно, и просто бразуером открыть
|
|||
27
EarthsSoul
16.06.17
✎
10:54
|
(26) Не указан заголовок управления сеансами или куки с идентификатором сеанса.
|
|||
28
EarthsSoul
16.06.17
✎
10:54
|
Интересно
|
|||
29
EarthsSoul
16.06.17
✎
10:58
|
(26) в браузере возможно указать заголовок ?
|
|||
30
EarthsSoul
16.06.17
✎
11:00
|
(26) спасибо за идею, попробую из 1с http запросы слать
|
|||
31
sFAQer
16.06.17
✎
11:31
|
(29) Принципиально можно, но не без акробатики, лучше другой 1Ской =)
|
|||
32
EarthsSoul
16.06.17
✎
12:06
|
(31) Что ты имел в виду из другой 1с ???
я хотел из другой базы... |
|||
33
EarthsSoul
17.06.17
✎
07:31
|
Доброе утро
Кажется проблема была не в 1c а в Postmane. Написал http запрос в 1с к веб сервису в 1с и пришел идентификатор сесии В заголовке IBSession. Только теперь в понедельник будет задача как в 1с сделать запрос с идентификатором сессии, не совсем понятно как указать их в 1с программно коде... |
|||
34
EarthsSoul
17.06.17
✎
07:34
|
*не совсем понятно как указать Куки в 1с программно коде...
|
|||
35
EarthsSoul
17.06.17
✎
07:39
|
Не понятно почему так ведет себя Postman, может инструмент для тестирования веб сервисов корректно работающий с куками посоветуете ?
|
|||
36
sFAQer
17.06.17
✎
12:16
|
(35) Куки это всего лишь один из заголовков
|
|||
37
sFAQer
17.06.17
✎
12:19
|
(34)
Куки = новый структура(); Куки.Вставить("Кука1", ЗначениеКуки1); Заголовки = Новый Структура(); Заголовки.Вставить("Cookie", Куки); Соединение.ОтправитьДляОбработки(ЗАпрос, ФАйл, Заголовки); |
|||
38
EarthsSoul
18.06.17
✎
04:11
|
(37) спасибо, буду пробовать в понедельник
|
|||
39
EarthsSoul
19.06.17
✎
06:19
|
Добрый день
Успешно достиг в 1с тех же проблем которые были в первом сообщении. Похоже все таки проблема не в postman , проблема работе платформы ... |
|||
40
EarthsSoul
19.06.17
✎
06:25
|
(37) такой вариант не сработал
Таокео впечатление все таки правильно в 53 сообщении v8: v8: HTTP Запрос (ОтправитьДляОбработки()) Куки в 1с научился заполнять, вписываю туда всю строку которую присылает обратно сервер 1с (там строка с тремя параметрами ibsession, Path, Version). HTTPЗапрос.Заголовки.Вставить("Cookie", СтрокаСессии); Но ошибка как уже сказано как в первом сообщении ... |
|||
41
sFAQer
19.06.17
✎
06:31
|
(40) Окей это пост, а если попробовать другие методы, GET например?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |