Apache flex 使用Flex和AIR的多个HTTPService请求
我正在使用Flex Builder开发一个AIR应用程序,它要求我同时发出两个HTTPService请求。它们都使用HTTPService的不同实例作为3类。这两个服务都在调用一个RESTful API,该API当前正在我的本地主机XAMPP上运行,在live server上需要几秒钟才能更快地响应 问题是,大多数情况下,其中一个调用都失败了,但偶尔两个调用都会成功。至于哪个调用将失败,这也是随机的 提前感谢, 克里斯 两个调用都使用类似这样的代码。这段代码基本上在两个类中重复Apache flex 使用Flex和AIR的多个HTTPService请求,apache-flex,air,Apache Flex,Air,我正在使用Flex Builder开发一个AIR应用程序,它要求我同时发出两个HTTPService请求。它们都使用HTTPService的不同实例作为3类。这两个服务都在调用一个RESTful API,该API当前正在我的本地主机XAMPP上运行,在live server上需要几秒钟才能更快地响应 问题是,大多数情况下,其中一个调用都失败了,但偶尔两个调用都会成功。至于哪个调用将失败,这也是随机的 提前感谢, 克里斯 两个调用都使用类似这样的代码。这段代码基本上在两个类中重复 //in con
//in constructor
brokerageService = new HTTPService();
brokerageService.resultFormat = HTTPService.RESULT_FORMAT_E4X;
brokerageService.addEventListener(ResultEvent.RESULT, onBrokerageResult);
brokerageService.addEventListener(FaultEvent.FAULT, onFault);
//call
public function findBrokerages(type:String, value:String):void{
var url:String = serviceURL + "Contacts/findBrokerage/" + type + "/" + value + ".xml";
brokerageService.url = url;
brokerageService.send();
}
//response
private function onBrokerageResult(e:ResultEvent):void{
var response:XML = brokerageService.lastResult as XML;
etc...
}
// handle error
private function onFault(e:FaultEvent):void{
trace(e.target + " " + e.target.url);
trace(e);
dispatchEvent(new ServiceEvent(ServiceEvent.CONNECTION_PROBLEM, true));
}
你能粘贴你收到的错误信息的详细信息吗?您确定这不是XMPP服务的问题吗?尝试使用curl之类的工具发送相同的请求来测试服务。如果发生故障事件,我会重新发送服务请求,最多三次 这不是我理想的解决方案,但它是有效的
Chris当我得到格式错误的XML时,我发现自己出现了这些错误,因此E4X无法处理这些错误。尝试重新发送失败的请求,并使结果格式为纯文本,然后检查输出。错误消息为:[FaultEvent fault=[RPC faultString=HTTP请求错误faultCode=Server.Error.request faultDetail=Error:[IOErrorEvent type=ioError bubbles=false cancelable=false eventPhase=2 text=Error 2032:流错误。URL:errorID=2032].URL:messageId=5477D9B6-DD93-2B11-12E5-02F736E7EC43类型=故障气泡=可取消的假事件=真实事件阶段=2]如果您能就如何快速使用CURL进行测试提供建议,我们将不胜感激。CURL可在大多数*nix系统、mac或cygwin for windows上使用。使用它的详细信息如下:。如果您只是执行GET请求,则可以使用web浏览器进行测试。另一个选项是Firefox的海报插件:如果我在F中打开XML我通常发现这是对结构良好的XML的一个很好的测试。