|
Armtek. Сервис поиска | ☑ | ||
---|---|---|---|---|
0
Zixxx
11.06.19
✎
10:59
|
Не получается получить нужный ответ от сервиса
В ответе написано что не установлена сбытовая организация Вероятно неправильно передаю параметры в тело запроса Тестирование сервиса возвращает результат http://ws.armtek.ru/test/test/generate/Ws_search/search_post Сверял запросы в Fiddler Параметры в тело запроса передавал структурой и строкой (которую брал по аналогии из Fiddler) Может кто увидит ошибку или подскажет что неправильно делаю? Привожу код из 1с: СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("VKORG", "5000"); СтруктураПараметров.Вставить("KUNNR_RG", "id"); СтруктураПараметров.Вставить("PIN", "C110"); // Сериализатор ЗаписьJSON = Новый ЗаписьJSON; ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, Символы.Таб); ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON); ЗаписатьJSON(ЗаписьJSON, СтруктураПараметров); СтрокаJSON = ЗаписьJSON.Закрыть(); // POST HTTPЗапрос = Новый HTTPЗапрос(); АдресРесурса = "/api/ws_search/search?format=json"; HTTPЗапрос.АдресРесурса = АдресРесурса; Соединение = Новый HTTPСоединение("ws.armtek.ru", , "email", "password", Новый ИнтернетПрокси, ,); HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON); ОтветHTTP = Соединение.ОтправитьДляОбработки(HTTPЗапрос); Тело = ОтветHTTP.ПолучитьТелоКакСтроку(); ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(Тело); Данные = ПрочитатьJSON(ЧтениеJSON); |
|||
1
Garykom
гуру
11.06.19
✎
11:31
|
"Новый ИнтернетПрокси" у вас инет через прокси?
|
|||
2
Zixxx
11.06.19
✎
11:48
|
(1) Это можно убрать, смысл от этого не измениться
|
|||
3
Garykom
гуру
11.06.19
✎
12:12
|
Может авторизация неправильно? Покажи как делаешь Basic Authentication
|
|||
4
Zixxx
11.06.19
✎
13:22
|
(3) Логин и пароль правильные, при тесте на сайте все ок
Использую только тот код который привел в примере |
|||
5
Garykom
гуру
11.06.19
✎
13:58
|
(4) Речь не про правильность а как ты их передаешь
|
|||
6
Zixxx
11.06.19
✎
14:01
|
(5) Я написал что передаю их только так как указано выше в примере. В описании я не увидел чтобы их как-то в заголовках нужно передавать или как-то по другому. Может не написали просто. Описание метода http://ws.armtek.ru/?page=service&alias=search
|
|||
7
Zixxx
11.06.19
✎
14:03
|
В описании у них написано так:
Способ авторизации: Basic Authentication Basic Authentication — клиент указывает свой логин и пароль для для получения доступа к REST сервису. Логин и пароль передаются по сети как незашифрованный текст кодированный простым Base64 и может быть легко декодирован любым пользователем. Что в этом случае мне нужно дополнить? |
|||
8
Garykom
гуру
11.06.19
✎
14:03
|
(7) Эээ. Нет слов
|
|||
9
Garykom
гуру
11.06.19
✎
14:09
|
Хотя бы "http basic authentication" погуглить
HTTPЗапрос.Заголовки.Вставить("Authorization","Basic "+Base64Строка(ПолучитьДвоичныеДанныеИзСтроки(Логин+":"+Пароль, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать))); |
|||
10
Zixxx
11.06.19
✎
14:22
|
(9) Также пишет ошибку что нет параметра сбытовая организация.
Так если бы была проблема с авторизацией, сервис сразу бы наверное и написал бы об этом Если отправлять запрос через веб форму на сайте армтек в разделе тестирования веб-сервисов то в fiddler не видно чтобы он авторизацию передавал в заголовках, из 1с сейчас она передается только толку? |
|||
11
Garykom
гуру
11.06.19
✎
14:25
|
(10) Ты можешь найти и показать пример рабочего запроса на чем угодно, на неком языке не 1С?
|
|||
12
Garykom
гуру
11.06.19
✎
14:28
|
И да с какого перепугу ты в тело засовываешь json файл?
Где это написано? |
|||
13
Garykom
гуру
11.06.19
✎
14:35
|
(12)+ Хотя нашел да 'Content-Type: application/json'
Но как то странно у них в примере часть данные в теле в json а часть вынесено в некие $this->params |
|||
14
Garykom
гуру
11.06.19
✎
14:39
|
Пипец они юмористы.
Короче VKORG надо в url передавать как для GET запросов )) |
|||
15
Garykom
гуру
11.06.19
✎
14:39
|
Как меня бесит PHP хотя и меньше чем Python
|
|||
16
Zixxx
11.06.19
✎
14:45
|
(14) HTTPЗапрос.АдресРесурса = "/api/ws_search/search?VKORG=5000&format=json"
Так тоже самое |
|||
17
Garykom
гуру
11.06.19
✎
14:46
|
АдресРесурса = "/api/ws_search/search?format=json&VKORG=5000";
HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса); |
|||
18
Zixxx
11.06.19
✎
15:02
|
(17) Это я тоже сразу проверил, ничего. А почему решил что VKORG нужно тоже в url передавать?
|
|||
19
Garykom
гуру
11.06.19
✎
15:03
|
(18)
|
|||
20
Garykom
гуру
11.06.19
✎
15:05
|
(19) это в недрах http://ws.armtek.ru/examples/php/ArmtekRestClient_v1.0.1.zip
На страничке http://ws.armtek.ru/?page=material&alias=rest-examples Короче разверни на компе эту клиенту на php и через фидлер лови что, куда и как оно лезет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |