Comunidad de diseño web y desarrollo en internet online

Web services

Citar            
MensajeEscrito el 29 Oct 2008 03:56 pm
hola nesecito que me ayuden ya que tengo un problema al llamado al webservices que funciona bien una primera vez en una pantalla pero cuando nuevamente lo llama no me anda no ejecuta el webservices porque puede ser favor de ayudarme.
por ejemplo siempre hago esto
// Cargar el WSDL y agregar listeners para saber cuando este listo

webService.wsdl = "http://www.webservicex.net/WeatherForecast.asmx?WSDL";

webService.addEventListener(LoadEvent.LOAD, onWSDL);

webService.addEventListener(FaultEvent.FAULT, onWebServiceFault);

webService.loadWSDL( );


pero solo la primera vez lo hace bien , pero en una segunda vez no la ejecuta porque ?
saludos

Por pchavez

18 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Oct 2008 04:25 pm
Si esto es procedural, es decir se vuelve a ejecutar varias veces al pasar por un fotograma, estás acumulando listeners

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Oct 2008 05:41 pm
Disculpa mi ignoracia, pero eso de juntar listener? a q te refieres, mira tengo dos pantallas una de resultado y una de ejecutar la llamada, si paso la primera vez no tengo problema , pero cuando vuelvo a la pantalla anterior para modificar un dato y ejecutar nuevamente el webservices,este no funciona, porque ???

Por pchavez

18 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Oct 2008 05:45 pm
Si paso 8 veces por un frame que tiene webService.addEventListener, mi webservice termina con 8 callbacks, ya que agrego un callback que ya tenía cada vez que paso por ese fotograma. Luego declara el webservice y los callback de tal forma que no se vuelva a ejecutar y solo re-ejecuta la llamada al método.
Considera empezar a utilizar clases si lo tuyo es la programación

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Oct 2008 06:10 pm
Ok, entendi lo que me dijiste pero podrias hacer un ejemplo por favor, te lo agradeceria mucho .

Por pchavez

18 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Oct 2008 06:14 pm
Estás cargando el WSDL pero no veo que hagas una llamada a ningún método ¿cual es la llamada?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Oct 2008 06:25 pm
public function onWDSL(evt:Event):void {
servicio.infoUsuario.addEventListener(ResultEvent.RESULT, onInfoUsuario); servicio.agrupaUsuarios.addEventListener(ResultEvent.RESULT, onAgrupaUsuarios);
if(HabitatFlex.principalBean.usuario.rut && HabitatFlex.principalBean.usuario.edad_user) {
servicio.infoUsuario(Number(HabitatFlex.principalBean.usuario.rut), HabitatFlex.principalBean.usuario.edad_user); servicio.agrupaUsuarios(Number(HabitatFlex.principalBean.usuario.rut));
}

}

Por pchavez

18 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Oct 2008 06:37 pm
Bien, mira el workflow que tienes ahora:

1. Defines el webService
2. Cargas el WSDL
3. Cuando terminas de cargar el WSDL, le agregas los callbacks a la llamada
4. Haces la llamada

Los primeros tres pasos no son necesario de repetir, solo el 4, llamadas servicio.infoUsuario y servicio.agrupaUsuarios, aunque veo que estás en un entorno de lo más nutrido (VO's de Beans de Java, una clase HabitaFlex que supongo sirve de modelo), esto que explico debería ser trivial

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Oct 2008 07:21 pm
Ok muchas gracias master.

Saludos

Por pchavez

18 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Oct 2008 09:31 pm
Master sigo con el problema , porq me anda para la primera y segunda vez pero de la 3era en adelante no pasa que habra pasado, y una consulta eso de agregar los callbacks a que te refieres.

Saludos

Por pchavez

18 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Oct 2008 09:43 am
Vuelvo a poner la llamada con comentarios para ver si se entiende:

Código ActionScript :

public function onWDSL(evt:Event):void {
   //callback de llamada infoUsuario
   servicio.infoUsuario.addEventListener(ResultEvent.RESULT, onInfoUsuario); 
   //callback de llamada agrupaUsuarios
   servicio.agrupaUsuarios.addEventListener(ResultEvent.RESULT, onAgrupaUsuarios);
   //Llamada de los servicios
   if(HabitatFlex.principalBean.usuario.rut && HabitatFlex.principalBean.usuario.edad_user) {      
      servicio.infoUsuario(Number(HabitatFlex.principalBean.usuario.rut), HabitatFlex.principalBean.usuario.edad_user); 
      servicio.agrupaUsuarios(Number(HabitatFlex.principalBean.usuario.rut));
   }
} 


Luego lo único que necesitas repetir en subsiguientes llamadas es lo que está dentro del if. Si la llamada no se ejecuta, asegúrate que no sea porque las condifiones que plantea el if no se cumplen

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Oct 2008 12:20 pm
Master,
public function onWDSL(evt:Event):void { //callback de llamada infoUsuario servicio.infoUsuario.addEventListener(ResultEvent.RESULT, onInfoUsuario); //callback de llamada agrupaUsuarios servicio.agrupaUsuarios.addEventListener(ResultEvent.RESULT, onAgrupaUsuarios); //Llamada de los servicios if(HabitatFlex.principalBean.usuario.rut && HabitatFlex.principalBean.usuario.edad_user) { servicio.infoUsuario(Number(HabitatFlex.principalBean.usuario.rut), HabitatFlex.principalBean.usuario.edad_user); servicio.agrupaUsuarios(Number(HabitatFlex.principalBean.usuario.rut)); } }


yo me cree una funcion asi :
public function onWDSL():void { //callback de llamada infoUsuario servicio.infoUsuario.addEventListener
if(HabitatFlex.principalBean.usuario.rut && HabitatFlex.principalBean.usuario.edad_user) { servicio.infoUsuario(Number(HabitatFlex.principalBean.usuario.rut), HabitatFlex.principalBean.usuario.edad_user); servicio.agrupaUsuarios(Number(HabitatFlex.principalBean.usuario.rut)); } }

donde sace evt, pero esto solamente lo hace bien hasta la segunda vez en una tercera vez ya no funciona nuevamente la llamada a los metodos, como que perdiera la conexion , la verdad no se , saludos

Por pchavez

18 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Oct 2008 12:34 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.