2009-06-23 13 views
1

我的Flex3應用程序必須顯示來自服務器的有意義的應用程序級錯誤消息。如何通過Flex 3中的HTTP請求傳遞錯誤信息?

This article文章說,Flash有在收到錯誤信息嚴重的侷限性,無論是狀態碼,響應體,或者響應頭描述。我可以使用我的servlet中的任何一個。但顯然沒有人可以訪問!

但是我的代碼在非200的HTTP狀態碼下接收到HTTPService.send後面的mx.rpc.events.FaultEvent不允許訪問任何這些!

一個解決方法是總是通過200「OK」狀態碼,和在體內使用XML內容,例如與<Error>根標籤。但是這完全繞過了Flex故障機制,並且如果出現錯誤,我的每個事件處理程序都必須自行弄清楚。

我只想讓一些類型的響應信息在錯誤時可用。

順便說一句,我總是使用POST,自Flex通過與郵政比獲得更多的信息。

回答

0

futher經過摸索,似乎沒有非哈克的方式做到這一點。

HTTPService根本不通過任何有關錯誤的信息。因此,您必須編寫一個變通辦法層來處理上述錯誤:始終傳遞200個「OK」狀態碼,並在正文中使用XML內容,例如, <Error>根標籤和XML中的狀態碼。然後,在XML中創建一個在非200狀態的情況下回調並帶有故障的圖層。