| 
    
        
     
     | 
    
  | 
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 и через фидлер лови что, куда и как оно лезет  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |