новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
serezhka87
Приватное сообщение

Веб-сервис autopiter.ru

3 |  0
17 апреля 2021 в 00:17:14 (3 года 31 неделя 4 дня 1 час назад)
1000
Текст задания
Здравствуйте! Нужна помощь специалиста, который работал с веб-сервисами в том числе autopiter.ru
Пишу обработку по поиску автозапчастей через сервис. Загвоздка встала в том что необходимо после авторизации при каждом новом запросе передавать куки чтобы запросы проходили. Сейчас есть вот такой код:

Загвоздка с передачей кукиз после авторизации. Вот что написал:

Запрос = "
| <soapenv:Header/>
| <soapenv:Body>
| <aut:Authorization>
| <aut:UserID>"
+ Логин+ "</aut:UserID>
| <aut:Password>"
+ Пароль + "</aut:Password>
| <aut:Save>"
+ "true" +"</aut:Save>
| </aut:Authorization>
|
| </soapenv:Envelope>";

АдресСервиса = "http://service.autopiter.ru/price.asmx";;
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.open("POST", АдресСервиса, 0);
WinHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
WinHttp.setRequestHeader("Content-Length", СтрДлина(Запрос));
WinHttp.send(Запрос);
Куки = WinHttp.getResponseHeader("Set-cookie");


Запрос = ";
| <soapenv:Header/>
| <soapenv:Body>
| <aut:FindCatalog> <aut:ShortNumberDetail>"
+ Запчасть + "</aut:ShortNumberDetail>
| </aut:FindCatalog>
|
| </soapenv:Envelope>";

WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.open("POST", АдресСервиса, 0);
WinHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
WinHttp.setRequestHeader("Content-Length", СтрДлина(Запрос));
WinHttp.SetRequestHeader("Cookie", Куки);
WinHttp.send(Запрос);

На первый запрос об авторизации приходит положительный ответ.
А вот второй запрос вовзращается с ошибкой.

Сам сервис http://service.autopiter.ru/price.asmx?WSDL
0
Отклики (1)