Buenas
Estoy tratando de comunicarme con un servet usando la clase HTTPService, pero solo he podido usarla mediante un evento que se dispara y luego escucho desde "otra" función. Lo que sucede es que quiero hacer una sola clase para que se comunique con mi servlet y usar un solo método para realizar y recibir la petición sin la necesidad de manejar eventos ya que esta clase seria llamada desde otra y asi mismo desde otra(seria como la nieta de la clase principal) y esto se me voveria un "ocho"
.
Este es el codigo que me comunica con el servlet y que usa dos funciones
Código:
public function consultar(sql:String):void{
var httpcon:HTTPService = new HTTPService();
httpcon.url="http://192.168.10.246:9090/ServletConexionBD/ConexionBD;deviceside=true;interface=wifi";
httpcon.method="POST";
var httpRequest:HTTPRequestMessage= new HTTPRequestMessage();
httpRequest.body =
"<db>"+bd+"</db>" +
"<user>"+user+"</user>" +
"<pwd>"+pwd+"</pwd>" +
"<sql>"+sql+"</sql>" +
"<type>query</type>";
httpcon.request= httpRequest;
httpcon.addEventListener(ResultEvent.RESULT, onResult);
httpcon.send();
}
protected function onResult(event:ResultEvent):void
{
//hago algo con la respuesta
//this.dispatchevent(new Event("tengoUnResultado"));
}
Este es el código que me serviría para q al llamar la función, esta me devuelva un resultado sin necesidad de utilizar un listener desde la clase padre.
Código:
public function consultar(sql:String):String{
var httpcon:HTTPService = new HTTPService();
httpcon.url="http://192.168.10.246:9090/ServletConexionBD/ConexionBD;deviceside=true;interface=wifi";
httpcon.method="POST";
var httpRequest:HTTPRequestMessage= new HTTPRequestMessage();
httpRequest.body =
"<db>"+bd+"</db>" +
"<user>"+user+"</user>" +
"<pwd>"+pwd+"</pwd>" +
"<sql>"+sql+"</sql>" +
"<type>query</type>";
httpcon.request= httpRequest;
return httpcon.algunaFuncionQuemesirvaParaEnviarYRecibirLosDatosInmediatamente();
}
Si alguien puede ayudarme se lo agradecería inmensamente. Gracias