2009-06-23 7 views
1

Приложение Flex3 должно отображать значимые сообщения об ошибках на уровне приложения с сервера.Как передать информацию об ошибке через HTTP-запрос в Flex 3?

This article В статье говорится, что Flash имеет серьезные ограничения на получение информации об ошибке, будь то в виде кодов состояния, тела ответа или заголовков ответов, как описано. Я могу использовать любой из них из своего сервлета. Но, видимо, никто не доступен!

Но mx.rpc.events.FaultEvent, который мой код получает в соответствии с кодом HTTPService.send по статусу статуса не-200 HTTP, не позволяет получить доступ к любому из этих!

Обходное решение - всегда передавать код состояния «ОК» 200 и использовать XML-контент в теле, например. с тегом корня <Error>. Но это полностью обходит механизм сбоя Flex, и каждый из моих обработчиков событий должен был бы сам разобраться, если бы произошла ошибка.

Я просто хочу разрешить примерно вид ответа, который будет доступен по ошибке.

Кстати, я всегда пользуюсь POST, поскольку Flex передает больше информации с помощью POST, чем с GET.

ответ

0

После дальнейших исследований кажется, что для этого не существует хакерского способа.

HTTPService просто не проходит через любые информацию об ошибках.

Итак, вы должны написать обходной слой для обработки ошибок, как описано выше: Всегда передавайте код состояния «ОК» 200 и используйте XML-контент в теле, например. с корневым тегом <Error> и кодом состояния в XML. Затем создайте слой, который обращается с ошибкой в ​​случае статуса не-200 в XML.