|
HTTPСервисОтвет вопросики вместо текста
| ☑ |
0
Альбатрос
21.06.22
✎
14:48
|
Если ПустаяСтрока(РезультатОбработки.ТекстОшибки) Тогда
Ответ = Новый HTTPСервисОтвет(200);
Иначе
Ответ = Новый HTTPСервисОтвет(500);
Ответ.Причина = РезультатОбработки.ТекстОшибки;
КонецЕсли;
При ошибке текст в причине статуса отражается вопросиками. Его как то форматировать надо правильно?
|
|
1
Альбатрос
21.06.22
✎
14:50
|
Проверяю через Postman
|
|
2
asady
21.06.22
✎
15:40
|
(0) кодировка не UTF8
|
|
3
Альбатрос
21.06.22
✎
15:44
|
(2) а как перекодировать? Методом кодироватьСтроку()?
|
|
4
arsik
гуру
21.06.22
✎
15:54
|
Ну можно попробовать как ни будь так
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-Type","application/json; charset=utf-8");
Ответ.УстановитьТелоИзСтроки(РезультатСериализации.ТекстJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
|
|
5
Альбатрос
21.06.22
✎
16:03
|
(4) Ну это тело ответа объявлять) Мне вот достаточно причины) Но в целом как вариант конечно
|
|
6
Альбатрос
21.06.22
✎
16:03
|
Заголовки еще)
|
|
7
arsik
гуру
21.06.22
✎
16:07
|
(6) Мне кажется туту работает так.
Если вы отправляете
Ответ = Новый HTTPСервисОтвет(500);
Ответ.Причина = РезультатОбработки.ТекстОшибки;
то кодировка будет та, которая по умолчанию стоит на вебсервере. Значит нужно покурить мануалы к апачу или иис.
Ну или принудительно указать кодировку.
Возможно заголовка хватит.
|
|
8
Альбатрос
21.06.22
✎
17:23
|
Вобщем, так как это метод НТТР сервиса, решилось вот так:
Если ПустаяСтрока(РезультатОбработки.ТекстОшибки) Тогда
Ответ = Новый HTTPСервисОтвет(200);
Иначе
ВызватьИсключение = РезультатОбработки.ТекстОшибки;
КонецЕсли;
Вот так норм кодировка)
|
|
9
arsik
гуру
22.06.22
✎
14:22
|
(8) Это буээээ.
Что в этом случае с пулом http соединений будет?
|
|