如何在 Flex 3 中通过 HTTP 请求传递错误信息?

发布于 2024-07-26 00:54:04 字数 654 浏览 3 评论 0原文

我的 Flex3 应用程序必须显示来自服务器的有意义的应用程序级错误消息。

本文 文章指出,Flash 在接收错误信息方面有严格的限制,无论是状态代码、响应正文还是响应标头(如所述)。 我可以从我的 servlet 中使用其中任何一个。 但显然没有一个可以访问!

但是我的代码在非 200 HTTP 状态代码上的 HTTPService.send 之后收到的 mx.rpc.events.FaultEvent 不允许访问其中任何一个!

一种解决方法是始终传递 200“OK”状态代码,并在正文中使用 XML 内容,例如使用 根标记。 但这将完全绕过 Flex 故障机制,并且我的每个事件处理程序都必须自己找出是否存在错误。

我只是想让某种类型的响应信息在发生错误时可用。

顺便说一句,我总是使用 POST,因为 Flex 使用 POST 传递的信息比使用 GET 传递的信息更多。

My Flex3 application must display meaningful application-level error messages from the server.

This article article says that Flash has severe limitations on receiving error info, whether as status codes, response body, or response headers as described. I can use any of these from my servlet. But apparently none are accessible!

But the mx.rpc.events.FaultEvent which my code receives following HTTPService.send on a non-200 HTTP status code does not allow access to any of these!

One workaround is to always pass the 200 "OK" status code, and use XML content in the body, e.g. with an <Error> root tag. But that would completely bypass the Flex fault mechanism, and every one of my event handlers would have to figure out by itself if there had been an error.

I just want to allow some sort of response information to be available on error.

By the way, I always use POST, as Flex passes more information with POST than with GET.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耳钉梦 2024-08-02 00:54:04

经过进一步的探索,似乎没有什么非 hacky 的方法可以做到这一点。

HTTPService 根本不传递任何有关错误的信息。

因此,您必须编写一个解决方法层来处理如上所述的错误:始终传递 200“OK”状态代码,并在正文中使用 XML 内容,例如使用 根标记以及 XML 中的状态代码。 然后,创建一个层,该层在 XML 中出现非 200 状态时回调错误。

After futher exploration, it seems that there is no non-hacky way to do this.

HTTPService simply does not pass through any information about errors.

So, you have to write a workaround layer to handle errors as described above: Always pass the 200 "OK" status code, and use XML content in the body, e.g. with an <Error> root tag and the status code in the XML. Then, create a layer which calls-back with a Fault in case of non-200 status in the XML.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文