|   |   | 
| 
 | ответ 302 при POST запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        Bujhm1972 20.08.22✎ 14:10 | 
        Привет всем.
 Проблема похоже пустяковая, но я завис над ней.. В POSTMANе этот запрос отрабатывает нормально : "https://b2b.marvel.ru/api/GetItems?user=diUser&password=diPassp&secretKey=&packStatus=0&responseFormat=0&updatedSince=24072019&items=<Root><WareItem><ItemId>100-000000031</ItemId></WareItem></Root>" - возвращает код 200 и нужную инфу в теле ответа. В 1С выполнение этих строк : HTTPСоединение = Новый HTTPСоединение("b2b.marvel.ru",,User ,Pass , , , ,); HTTPЗапрос = Новый HTTPЗапрос("https://b2b.marvel.ru/api/GetItems?user=diUser&password=diPassp&secretKey=&packStatus=0&responseFormat=0&updatedSince=24072019&items=<Root><WareItem><ItemId>100-000000031</ItemId></WareItem></Root>"); Ответ = HTTPСоединение.ОтправитьДляОбработки(Запрос); возвращает код 302: и тело ответа = "<html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="/">here</a>.</h2> </body></html>" Может кто-то из мастеров http и web сервисов сможет подсказать решение проблемы? | |||
| 1
    
        Bujhm1972 20.08.22✎ 14:17 | 
        результат один и тот же, независимо от наличия и состава заголовков запроса, формата xml или  json... ,
 перенаправление на указанный в ответе Path не помогает | |||
| 2
    
        Bujhm1972 20.08.22✎ 14:19 | 
        смена HTTPСоединение.ОтправитьДляОбработки(..
 на HTTPСоединение.Получить(.. тоже не меняет ответ | |||
| 3
    
        Kassern 20.08.22✎ 14:21 | 
        (0) Начните ресурс в HTTP запросе с "/api...
 Сайт у вас https, где у вас в HTTPСоединение прописан SSL? | |||
| 4
    
        Bujhm1972 20.08.22✎ 14:27 | 
        Cпасибо, пробовал уже 
 вариант: HTTPСоединение = Новый HTTPСоединение("b2b.marvel.ru",,User ,Pass , , ,SSL,); HTTPЗапрос = Новый HTTPЗапрос("/api/GetItems?user=diUser&password=diPassp&secretKey=&packStatus=0&responseFormat=0&updatedSince=24072019&items=<Root><WareItem><ItemId>100-000000031</ItemId></WareItem></Root>"); дает тот же код ответа 302 и лишь значение PATH в теле ответа меняется на: <head><title>Document Moved</title></head> <body><h1>Object Moved</h1>This document may be found <a HREF="https://b2b.marvel.ru/api/GetItems?user=dionis03&password=nSb5_DvR7p&secretKey=&packStatus=0&responseFormat=0&updatedSince=24072019&items=%3CRoot%3E%3CWareItem%3E%3CItemId%3E100-000000031%3C/ItemId%3E%3C/WareItem%3E%3C/Root%3E">here</a></body> | |||
| 5
    
        Fram 20.08.22✎ 14:36 | 
        (4) SSL = ?     | |||
| 6
    
        Bujhm1972 20.08.22✎ 14:37 | 
        SSL =  Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(),Новый СертификатыУдостоверяющихЦентровWindows())     | |||
| 7
    
        Bujhm1972 20.08.22✎ 14:38 | 
        POSTMAN возвращает нужный ответ , не требуя сертификата     | |||
| 8
    
        Kassern 20.08.22✎ 14:39 | 
        (4) порт попробуйте указать нужный, а в ССЛ просто написать Новый ЗащищенноеСоединениеOpenSSL(); 
 (7) Потому что он сам его берет из винды, а в 1с это нужно указать. | |||
| 9
    
        Kassern 20.08.22✎ 14:41 | 
        Ну и по уму конечно, такое дело лучше в тело запроса пихать, а не в строку...
 Еще попробуйте ресурс в запросе урл кодировать | |||
| 10
    
        Bujhm1972 20.08.22✎ 14:44 | 
        всем большое спасибо,
 помогло : "в ССЛ просто написать Новый ЗащищенноеСоединениеOpenSSL()" а я уже столько часов копаю не там.... | |||
| 11
    
        Bujhm1972 20.08.22✎ 14:47 | 
        "Ну и по уму конечно, такое дело лучше в тело запроса пихать, а не в строку..."
 в рабочем варианте так и сделал, вышеприведенный вариант - тестовый , еще раз спасибо! | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |