HTTP 서비스 개체를 사용하여 flex에서 메서드 내에서 서블릿 요청을하고 있습니다. 이 메소드는 두 개의 이벤트에 의해 동시에 병렬로 호출됩니다. 두 요청이 모두 서블릿에 도달했음을 알 수 있지만 결과 이벤트에는 하나만 반환됩니다. 또한이 행동은 일관성이 없습니다. httpservice를 병렬로 호출하면 일부 요청이 손실 될 수 있습니까? 두 요청이 모두 서블릿에 도달했으며 데이터가 반환 된 것 같습니다. 결과 이벤트가 트리거되지 않는 경우도 있습니다. 미리 감사드립니다. 병렬 요청에 대해 http 서비스가 작동하지 않습니다.
문제를 더 잘 설명하는 코드가 포함됩니다.
아래의 방법을 찾으십시오. 아래 메소드 "callServlet"은 두 개의 개별 이벤트에 의해 호출됩니다.
private var httpObj : HTTPService = new HTTPService();
전용 기능 callServlet (문자 : 문자열) {공극
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();
}
제가 있어서, 내가 다른 "텍스트"변수 전달을 호출 할 때마다. 경고 메시지가 두 개의 서로 다른 텍스트가 표시된다는 것을 알 수 있습니다. 그리고 앞에서 설명한 것처럼 두 요청 모두 서블릿에 도달하고 응답은 서블릿에서 전송됩니다. 결과 이벤트 "onResultMethod"는 한 번만 호출됩니다. "faultonFaultMethod"를 호출하지 않습니다.
HTTPService.send()는 요청을 추적하기 위해 사용해야하는 AsyncToken을 반환합니다. 'HTTPService'의'lastResult' 속성을 사용한다면 당신은 당신이 묘사하는 행동을 얻을 것입니다. 질문을 편집하고 추가 도움이 필요하면 사용중인 코드를 추가하는 것이 좋습니다. –