|
Как передать длинный параметр в HTTP сервис |
☑ |
0
ИС-2
22.06.23
✎
10:59
|
Есть код который обращается к GET запросу в WMS
Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type", "application/json");
ЗапросHTTP = Новый HTTPЗапрос( АдресРесурса, Заголовки);
ОтветHTTP = HTTPСоединение.ВызватьHTTPМетод(HTTPМетод, ЗапросHTTP);
где АдресРесурса путь с указанием параметра. Где в конце указываются ГУИДы.
АдресРесурса
wms_TestForExchangeUPP/hs/GetDateFromWMS/GetStockWarehouse/fe608748-0f60-11ee-9d22-d4f5ef78c963,fe6c0d8e-452d-11ed-96ff-44a8421c39d4
Веб-сервис вылетает с ошибкой 400, если передать длинную строку параметров (пр. 36000 символов).
Какие есть способы передачи большого кол-ва параметров ?
|
|
1
mikecool
22.06.23
✎
11:05
|
заголовки, тело
|
|
2
mikecool
22.06.23
✎
11:05
|
правда это уже не Гет будет...
|
|
3
big
22.06.23
✎
11:19
|
А разбить на несколько запросов? Не?
|
|
4
Garykom
22.06.23
✎
11:40
|
(2) стандарт (последний) даже у GET подразумевает тело
(0) заголовки никаких проблем
|
|
5
Garykom
22.06.23
✎
11:43
|
(2) правильней сказать уже не RESTful будет
имхо переходи на POST да и все
т.е. http только как транспорт (всегда POST делать) а все внутри в телах в JSON
|
|
6
lodger
22.06.23
✎
11:49
|
(3) +1.
если уж хотите REST то жуйте неспеша, порциями.
|
|
7
Garykom
22.06.23
✎
11:51
|
(6) еще скажи многопоточно сразу кучу отдельными соединениями запрашивать а потом собирать ))
|
|
8
lodger
22.06.23
✎
12:45
|
(7) а чоб и нет? надо только 8.3.25 дождаться, там пауза есть!
|
|
9
Donkey_hot
22.06.23
✎
13:43
|
(0) Если есть возможность подшлифовать сервис, то однозначно POST.
|
|