Имя: Пароль:
1C
 
Почему при вызове сервиса ответ с кодом 500 превращается в 502?
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) а вот код ошибки и название в теле заголовка идут и там лишнего быть не должно
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший