Je développe une application AIR avec Flex Builder qui nécessite que je fasse deux demandes HTTPService en même temps. Ils utilisent tous deux des instances différentes de la classe HTTPService AS3. Les deux services appellent une API RESTful qui s'exécute actuellement sur mon hôte local (XAMPP) et prend quelques secondes pour répondre (beaucoup plus vite sur le serveur live).Requêtes HTTPService multiples avec Flex et AIR
Le problème est que la plupart du temps, l'un des appels échoue, mais parfois ils fonctionnent tous les deux. C'est aussi aléatoire quant à l'appel qui échouera.
Merci à l'avance,
Chris
Les deux appels utilisent le code quelque chose comme ça. Ce code est fondamentalement répété dans deux classes.
//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));
}
message d'erreur: [FaultEvent défaut = [RPC défaut faultString = "Erreur de requête HTTP" faultCode = "Server.Error.Request" faultDetail = "Erreur: [IOErrorEvent type =" bulles « ioError = false cancelable = false eventPhase = 2 text = "Erreur # 2032: Erreur de flux. URL: http://www.domain.com/dummpyAPI.xml "errorID = 2032. URL: http://www.domain.com/dummpyAPI.xml"] messageId = "5477D9B6-DD93-2B11-12E5-02F736E7EC43 "type =" fault "bubbles = false cancelable = true eventPhase = 2] Si vous pouvez offrir des conseils sur la façon dont je pourrais rapidement tester avec CURL qui serait apprécié. –
CURL est disponible sur la plupart des systèmes * nix, mac ou cygwin (pour Windows). Les détails pour l'utiliser sont ici: http://curl.haxx.se/docs/manpage.html. Si vous faites une requête GET, vous pouvez utiliser votre navigateur Web pour le tester. Une autre option est le plugin Poster pour Firefox: https://addons.mozilla.org/en-US/firefox/addon/2691 – elevine