![]() |
![]() |
|
Как получить кэш HTTPСоединения для последующего использования? | ☑ | ||
---|---|---|---|---|
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="http://gisserver.org/">ok</string> ========== 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Запрос(РесурсНаСервере, Заголовки); Запрос.УстановитьТелоИзСтроки(ТелоЗапроса); |
|||
3
Serginio1
18.02.16
✎
10:13
|
(0) Можешь воспользоваться .Net оберткой
Использование классов .Net в 1С для новичков Наверняка у них есть примеры на C# |
|||
4
Vladal
18.02.16
✎
11:00
|
(3) Примеры на странице тестирования API только SOAP, HTTP GET и HTTP POST
(2) Круто! Спасибо, получилось! |
|||
6
Serginio1
18.02.16
✎
11:29
|
(4) а WSDL то у них есть раз SOAP
|
|||
7
Serginio1
18.02.16
✎
11:53
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |