Как передать информацию об ошибке через HTTP-запрос во Flex 3? - PullRequest
1 голос
/ 23 июня 2009

В моем приложении Flex3 должны отображаться значимые сообщения об ошибках на уровне приложения от сервера.

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

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

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

Я просто хочу разрешить некоторую информацию об ответах, которая будет доступна при ошибке.

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

1 Ответ

0 голосов
/ 29 июня 2009

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

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

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

...