0
Vladal
18.02.16
✎
09:57
|
Есть веб-сервис, к которому я подключаюсь и его разработчики дали API:
Соединение = Новый HTTPСоединение(АдресСайта, Порт, Логин, Пароль);
РезультатСоединения = Соединение.Получить(Новый HTTPЗапрос(АдресРесурса + "ConnectToServer?login=" + Логин + "&pass=" + Пароль));
ОтветСервиса = "========== ConnectToServer
|" + РезультатСоединения.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
РезультатСоединения = Соединение.Получить(Новый HTTPЗапрос(АдресРесурса + "GetAllObjects?a="));
ОтветСервиса = ОтветСервиса + "
|========== GetAllObjects
|" + РезультатСоединения.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
и получаю такой ответ:
========== ConnectToServer
<?xml version="1.0" encoding="utf-8"?>
<string xmlns=";
========== GetAllObjects
System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.
в FortMonitorWEB3.GisServerService.GetSessionSettings()
в FortMonitorWEB3.GisServerService.GetAllObjects(String a)
Как я понимаю, когда в get-запрос посылаю запрос на авторизацию, он мне и говорит - ОК, чувак, есть такой логин и пароль (ответ ConnectToServer)
Когда в следующем запросе пытаюсь получить инфу по объектам - он говорит "ты кто такой? я тебя не знаю без ссылки на объект."
Если пишу эти запросы в адресной строке браузера, получаю все необходимые данные.
Обратился к разработчикам этого сервиса, они ответили, что, вероятно, не сохраняется кеш.
Вот где и каким образом этот кеш можно сохранить?
|
|
1
Vladal
18.02.16
✎
10:02
|
Прежде работал с другими веб-серверами, те при авторизации возвращали мой ИД сессии, который я уже использовал в дальнейших запросах. Таких проблем не было.
|
|
2
sash-ml
18.02.16
✎
10:08
|
cookie
после первой отправки
моикуки = РезультатСоединения.Заголовки["Set-Cookie"];
//повторная отправка
Заголовки = Новый Соответствие();
Заголовки.Вставить("Cookie", моикуки )
Запрос = Новый HTTPЗапрос(РесурсНаСервере, Заголовки);
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
|
|