在HTTP 400响应代码的情况下,在调用Web服务后获取错误消息

时间:2014-06-10 10:18:59

标签: actionscript-3 flex asp.net-web-api actionscript air

刚写了一个web service(WEB-API),在错误的请求中返回400错误消息。

与响应一起,服务器发送如下错误消息:

<?xml version="1.0"?>
<Error>
  <Message>The request is invalid.</Message>
  <ModelState>
    <serviceRequest.Id>The Id field is required.</serviceRequest.Id>
  </ModelState>
</Error>

我使用Flash flex作为用户界面,并使用以下event handlers来接收回复。

httpStatusHandler: [HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=400 responseURL=null]
status: 400
[HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=400 responseURL=null]

这会检索status code = 400但是如何从网络服务接收随附的xml

欢迎提出任何指示。

1 个答案:

答案 0 :(得分:1)

最佳做法是始终返回状态OK(200)。 Flash在这方面有点愚蠢,混合标题与内容总是会造成麻烦。然而,如果你将它嵌入到HTML中,它还取决于浏览器。

这里最好的方法是返回一个包含错误的简单OK状态,并检查Event.COMPLETE处理程序上的数据。如果您有错误,那么这是一个错误。只需跳过状态 - 它将为您节省时间,精力和不眠之夜:)。