Перехват исключений PHP во Flex без AMFPHP - PullRequest
0 голосов
/ 10 ноября 2011

Я ищу способ поймать исключение, сгенерированное PHP во Flex с использованием HTTPService.Возможно ли сделать это без использования AMFPHP ?

В моей текущей реализации, если в PHP генерируется исключение, действительно FaultEvent.FAULT отправляется на стороне Flex.Единственная проблема состоит в том, что строка сообщения об исключении нигде не найдена в FaultEvent.

Позвольте мне попытаться объяснить лучше с помощью примера.Допустим, у нас есть следующий код PHP на стороне сервера:

<?php
  throw new Exception("Exception message");
?>

На стороне flex, скажем, есть экземпляр HTTPService, который вызывает вышеуказанный код PHP.Более того, он вызывает следующую функцию в FaultEvent.FAULT:

private function onFaultyResult(evt:FaultEvent):void {
  //How do I get the exception message here?    
}

Как я могу получить сообщение об исключении из PHP в этой функции?

Примечание: trace(evt.toString()) дает:

[FaultEvent fault=[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: 192.168.1.119/exception.php"]. URL: 192.168.1.119/exception.php"] messageId="7FF021A3-8C83-CB14-081D-8C8438802204" type="fault" bubbles=false cancelable=true eventPhase=2]

Я также искал "Сообщение об исключении" в других полях evt в отладчике, но не смог его найти.

Спасибо

1 Ответ

0 голосов
/ 10 ноября 2011

Основная проблема заключается в том, что Flash не может обработать серверы, возвращает статус <> 200 http://www.robsondesign.com/blog/index.php/2009/04/16/flex-flash-and-http-status-codes/

...