|   |   | 
| 
 | Повторное использование сеансов в 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 например?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |