我的flex3应用程序必须显示来自服务器的有意义的应用程序级错误消息。
This article 文章说,flash在接收错误信息方面有严重的限制,无论是作为状态代码、响应主体还是响应头(如前所述)。我可以使用我的servlet中的任何一个。但显然没有人可以接近!
但是 mx.rpc.events.FaultEvent 我的代码收到以下内容 HTTPService.send 在非200 HTTP状态代码上,不允许访问其中任何一个!
mx.rpc.events.FaultEvent
HTTPService.send
一个解决方法是始终传递200个“OK”状态代码,并在正文中使用XML内容,例如 <Error> 根标签。但这将完全绕过flex故障机制,我的每个事件处理程序都必须自己找出是否存在错误。
<Error>
我只想允许 一些 出错时可用的响应信息排序。
顺便说一下,我总是使用post,因为flex通过post传递的信息比get传递的信息更多。
经过进一步的探索,似乎没有一种非黑客的方法可以做到这一点。
HTTPService 只是不能通过 任何 有关错误的信息。
HTTPService
因此,您必须编写一个变通层来处理上面描述的错误:总是传递200个“确定”状态代码,并在正文中使用XML内容,例如 <Error> 根标记和XML中的状态代码。然后,创建一个层,当XML中的状态为非200时,该层用一个错误回调。