|
ответ 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
|
"Ну и по уму конечно, такое дело лучше в тело запроса пихать, а не в строку..."
в рабочем варианте так и сделал, вышеприведенный вариант - тестовый , еще раз спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |