Hola, tengo un problema que he conseguido resolver y he pensado que seguro que alguien de aquí lo ha utilizado más de una ez y me podrá ayudar. La cosa es que llamo a un servicio Java desde un modulo Flex y utilizo un metodo de ese servicio(clase) en este modulo. No hay problema hasta ese punto.

La cosa es que ahora quiero utilizar ese mismo metodo o otro metodo de la misma clase en un componente Flex. Lo que no se es si tengo que llamar al servicio de nuevo, o si puedo utilizar el servicio que ya tengo o como debería de hacerlo.

Aquí teneis un trozo del código actual que me carga el servicio en el modulo y quisiera que alguien me dijera como utilizar ese servicio en el componente.

My Module:

Código ActionScript :

                   var info:IServiceInfo;

         //Llamado cuando el usuario lo solicita
         override public function main(args:IParams):void{
            //Hacer visible este modulo
            var top:ITopComponent = Environment.getInstance().ui.createTopComponent();
            .........            
            //Pedir referencia al servicio
            info = Environment.getInstance().
               serviceLocator.getterService("com.enp.prueba.Conexion");//la clase Java
            info.addEventListener(ServiceInfoEvent.READY, onInfoResult);
            info.addEventListener(ServiceInfoEvent.ERROR, onInfoFault);
            
            info.lookup();
            
         }
         
         //Existe el servicio
         private function onInfoResult(event:Event):void{
            info.removeEventListener(ServiceInfoEvent.READY, onInfoResult);
            info.removeEventListener(ServiceInfoEvent.ERROR, onInfoFault);
            
            var  ser:Service = info.getService();
            ser.addEventListener(ResultEvent.RESULT, onCtxInfo);
            ser.addEventListener(FaultEvent.FAULT, onInfoFault);
            
            ser.getMethod();
            
         }
         //El servicio no existe o se tiene permiso
         private function onInfoFault(event:Event):void{
            info.removeEventListener(ServiceInfoEvent.READY, onInfoResult);
            info.removeEventListener(ServiceInfoEvent.ERROR, onInfoFault);
            Environment.getInstance().showInfoUser("Fallo al leer el servicio");
         }
         
         private function onCtxInfo(event:ResultEvent):void{
            labl.text = event.result as String;
         }
         
         private function onCtxInfoError(event:FaultEvent):void{
            labl.text = "Fallo : " + event.message;
         }


Hasta aquí funciona correctamente. Ahora quisiera utlizar ser.Method o ser.XXXXX en este otro componente:

Componente1:

Código ActionScript :

            private function metLoaded():void
       {
          ser.getMethod2(idCuenta); 
       }
   
       private function metLoadedResult(event:ResultEvent):void
       {
          labl2.text = "Fallo : " + event.message;
           }                               
       }


No se como debería de declarar ese 'ser'. Se que la forma de hacer la llamada en el componente no es la misma, pero bueno me podría valer. Si sabeis una forma mejor también estaría bien.

Espero que alguien me pueda echar una mano.

Un saludo. Gracias!