|
|
Почему при вызове сервиса ответ с кодом 500 превращается в 502?
Доминошник, vicof, Garykom, MWWRuza, Krendel, toypaul, Кир Пластелинин, Михаил Козлов, АгентБезопаснойНацио, p-soft, Lama12, _Batoo, alexxx961503, panig759, Seriy_Volk, rozer76, Indian, Волшебник, oleg_km, Alexor, tulke
| ☑ |
|
0
toypaul
гуру
19.06.26
✎
18:50
|
Есть две системы на 1С. В одной http сервис и метод, который возвращается ответ с кодом 500. И там еще текст причины в соот-щем поле. В вызывающей системе жду этот код - 500. А получаю 502 и какое-то невнятное тело ответа.
|
|
|
1
toypaul
гуру
19.06.26
✎
18:54
|
Отвечаю сам себе. Стандартным конструктором
Новый HTTPСервисОтвет(<КодСостояния>, <Причина>, <Заголовки>)
с кодом 500 передавать Причину (текст ошибки) видимо нельзя.
Получилось передать текст ошибки через тело ответа.
|
|
|
2
p-soft
19.06.26
✎
19:01
|
вероятно, какую нибудь херню написали с символом переноса строки.
там текстовый протокол с разделителем строки в виде \r\n, вроде
|
|
|
3
toypaul
гуру
19.06.26
✎
19:12
|
(2) возможно. и если в причине "херня", то не переваривает. а внутри тела вполне себе. к тому же тело еще в жисон обращается. а причина нет.
|
|
|
4
p-soft
19.06.26
✎
19:28
|
(3) в тело можно что угодно засунуть, стандартом оно побайтно читается, сразу после признака конца заголовка.
|
|
|
5
p-soft
19.06.26
✎
19:20
|
(4) а вот код ошибки и название в теле заголовка идут и там лишнего быть не должно
|
|
|
6
Asmody
20.06.26
✎
00:30
|
(0) есть подозрение, что веб-сервер перехватывает 500ю ошибку и выворачивает по своему. В ИИСе где-то должна быть галочка типа "пропускать ошибки"
|
|
|
7
Asmody
20.06.26
✎
00:31
|
Вообще, возвращать 500ю это как-то не того
|
|
|
8
p-soft
20.06.26
✎
01:05
|
(7) нормально. если ошибка в коде сервиса, 1с как раз и возвращает 500. просто не надо лишнее в заголовок пихать
|
|
|
9
toypaul
гуру
20.06.26
✎
09:43
|
(7) Может быть, может быть. Пока подход такой - 400 возвращаем когда с клиента приходят некорректные параметры. 500 возвращаем когда какое-то исключение произошло - что-то в базу не записали или вообще ошибка в коде (вдруг).
(5) Понял. Маловато опыта работы с сервисами пока.
|
|
|
10
p-soft
20.06.26
✎
12:50
|
(9) я на днях реализацию веб-сервера писал на java, как работает протокол http разбирал. так то инфа по кодам ошибок редко нужна - смотрим в яндексе коды и пользуемся. ходовых ошибок не много: ресурс не найден - 404, да "что то пошло не так" - 500.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой