Цитата: Код:<error>
<code>123</code>
<message>Ошибка подключения к БД</message>
</error>
Все это отсылается с заголовком 200, так как ошибки HTTP не произошло, а ошибки приложения должны обрабатываться другим способом.
Я делал совсем недавно так как вы написали.
Издержки:
Собирать корректно на стороне сервера XML
Вместе с XML передается много ненужной информации
Её нужно парсить на клиенте
Обработчик ответа постепенно становится монстроидальным
В моем случае:
Об ошибке узнает транспорт и направляет в специфический обработчик
Параллельно вместе с ошибкой возможна передача JSON объектов
В случае нормального ответа требуется только заголовок со статусом 200
Издержек нет
Код становится более упорядоченым
Цитата: Имеется в виду смысл настолько извращенно организовывать обработку ошибок.
Да, что Вы так переживаете? Если Вы считаете, что это извращение, то ради бога. Я пришел к этому не сразу, может и Вам понравится. А на HTTP-протокол я не посягаю.