HTTP サービス オブジェクトを使用して、flex のメソッド内でサーブレット リクエストを作成しています。メソッドは、2 つのイベントによって並行して同時に呼び出されています。両方のリクエストがサーブレットに到達したことを確認できましたが、結果イベントに返されるのは 1 つだけです。また、この動作には一貫性がありません。httpservice を並行して呼び出すと、一部のリクエストが失われる可能性はありますか? 両方のリクエストがサーブレットに到達し、そこからデータが返されたことは確かです。特定の場合に結果イベントがトリガーされないというだけです。前もって感謝します。
問題をより適切に説明するコードを含めます。
以下の方法を見つけてください。以下のメソッド「callServlet」は、2 つの別々のイベントによって呼び出されています。
プライベート var httpObj:HTTPService=new HTTPService();
プライベート関数 callServlet(text:String):void{
Alert.show(text);
httpObj = new HTTPService();
httpObj.url=<servlet URL>;
httpObj.method="POST";
httpObj.resultFormat="xml";
httpObj.contentType="application/xml";
var requestString:String=text;
httpObj.request=requestString;
httpObj.addEventListener(ResultEvent.RESULT,onResultMethods);
httpObj.addEventListener(FaultEvent.FAULT,onFaultMethod);
httpObj.send();
}
メソッドを呼び出すたびに、異なる「テキスト」変数を渡します。アラートに送信された 2 つの異なるテキストが表示されていることがわかります。前述のように、両方の要求がサーブレットに到達し、応答がサーブレットから送信されます。ただし、結果イベント「onResultMethod」は一度だけ呼び出されます。「faultonFaultMethod」も呼び出されません。