Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 失败时如何访问HTTP响应正文?_Actionscript 3_Apache Flex_Flex4_Httpservice - Fatal编程技术网

Actionscript 3 失败时如何访问HTTP响应正文?

Actionscript 3 失败时如何访问HTTP响应正文?,actionscript-3,apache-flex,flex4,httpservice,Actionscript 3,Apache Flex,Flex4,Httpservice,当web服务调用失败并且我的“错误”事件侦听器被调用时,如何访问HTTP响应主体?我可以看到原始消息,但找不到访问响应的方法 下面是我如何称呼Web服务的 var connect: HTTPService = new HTTPService; connect.url = "https://app.XYZ.org/services/code?format=xml"; connect.method = "POST"; connect.contentType = "application/x-www-

当web服务调用失败并且我的“错误”事件侦听器被调用时,如何访问HTTP响应主体?我可以看到原始消息,但找不到访问响应的方法

下面是我如何称呼Web服务的

var connect: HTTPService = new HTTPService;
connect.url = "https://app.XYZ.org/services/code?format=xml";
connect.method = "POST";
connect.contentType = "application/x-www-form-urlencoded";
connect.showBusyCursor = true;
connect.resultFormat = "xml";
connect.addEventListener("result", retrieveResults);
connect.addEventListener("fault", retrieveResults);
var params:Object = new Object;
params.username = user;
params.password = password;
params.code = "123";
connect.request = params;
connect.send();
和我的事件处理函数

private function retrieveResults(event:Event): void
{
  var success:Boolean = event.type == ResultEvent.RESULT;
..
}

我几乎可以肯定这不会发生。但根据错误,您可以尝试将这两个侦听器添加到加载程序:

loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, httpIOErrorHandler);
其中一个给出了状态,因此您可以找到错误。如果状态是正确的,则后者将为您带来结果(loader.data)。在某些情况下,空气可以给你反应,但闪光不能。你应该两种都试试


无论如何,我认为最好处理内部错误并返回ok(状态200),其中包含一条错误消息。Flash的http状态非常糟糕:)

谢谢你的建议。我试试看,然后再报告。很遗憾,我无法更改webservice实现。我正在AdobeAIR for Android上使用URLLoader,在HTTP 400响应后,我能够在IO_错误处理程序中获得响应体。