|
Авторизация с помощью cookies на сайте для работы с внешним web-сервисом
| ☑ |
0
Глеар
10.09.15
✎
17:27
|
Всем привет. Есть внешний веб сервис. На него в конфигурации создана WS-ссылка. Я создаю прокси и начинаю работать с методами веб сервиса.
Ранее я с этим веб-сервисом обменивались данными в рамках одной сессии с помощью id сессии, которые я получала при выполнении метода Login, и дальше передавала в каждый метод в определенном параметре. Выглядело это так:
WSПрокси = WSСсылки.Rv4.СоздатьWSПрокси("R", "S", "K");
ТипЗапроса=WSПрокси .ФабрикаXDTO.Тип("R", "SessionData");
запрос = WSПрокси .ФабрикаXDTO.Создать(ТипЗапроса);
запрос.login="какойтологин";
запрос.password="пароль";
ИДСессии=WSПрокси .Login(запрос);
Теперь разработчики изменили свой веб-сервис и просят работать с рамках одной сессии на сайте с помощью cookies. В SOAPUI я вижу что в заголовке ответа на выполнение Login мне приходят куки, но как их получить в 1С и что с ними делать дальше?
Сейчас я выполняю метод логин, он успешно проходит, но далее при выполнении любого другого метода выходит ошибка "Вы не прошли аутентификацию". и все.
Кто сталкивался, расскажите как работать с куки.
|
|
1
Fragster
гуру
10.09.15
✎
17:36
|
никак, либо basic авторизация, либо через параметр. куки не поддерживаются.
либо писать свою прослойку-прокси например на php, либо работать с помощью HTTPЗапрос и фабрикой XDTO вручную
|
|
2
Serginio1
10.09.15
✎
17:47
|
|
|
3
Fragster
гуру
10.09.15
✎
17:49
|
(2) в данном случае не особо сложно через HTTP запрос работать, через дотнет больше кода получится.
|
|
4
Serginio1
10.09.15
✎
18:46
|
(3) Кода то ка раз по минимуму даже меньше чем с 1С прокси фабриками итд.
|
|
5
Глеар
11.09.15
✎
09:35
|
Спасибо за подсказку. Придется всю выгрузку перерабатывать. попробую сделать через HTTP запрос.
|
|
6
Serginio1
11.09.15
✎
10:22
|
(5) Да уж мы не ищем легких путей. Удачи.
Ты не первый v8: soap:Header
|
|
7
Глеар
17.09.15
✎
13:25
|
В общем я перешла на HТТР запрос. Получила ответ, забрала из него куки. Но вообще говоря, я надеялась что в теле ответа мне придут те же параметры, которые я получала в ответе при выполнения метода на веб сервисе)).
Ранее я выполняла метод Login и в ответ мне приходил уникальный идентификатор пользователя на сайте:
<LoginResult xmlns:i=";
<OutStatus>Success</OutStatus>
<ID>3023</ID>
</LoginResult>
Сейчас в ответе на выполнения HTTP запроса у меня нет этого параметра. Может его искать надо не в теле ответа?
|
|
8
Fragster
гуру
17.09.15
✎
13:26
|
(7) ищи в заголовке
|
|
9
Глеар
17.09.15
✎
14:13
|
в заголовке нет. Потому что я обращаюсь не к сервисам апи, а к веб-интерфейсу. Но как обратиться к сервиса апи? мне не надо работать с веб интерфейсом.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший