Amigos Flex Developers,

Faz tempo q acompanho esta lista passivamente, mesmo porque todas
minhas duvidas ao longo desse tempo foram sanadas com threads já
existentes, postadas por outros usuarios. No entanto, deparei-me com o
seguinte problema (nao encontrei no historico da lista):

Meu back-end ( php) não esta recebendo os argumentos do flex.
Verifiquei na perspectiva de debug do flex builder, e constatei que os
objetos sao criados corretamente, porem implesmente não chegam no php.
Lembrando que via browser amfphp os metodos funcionam normalmente.

Vejam os fontes:

//VO´s

<?php
        class UserVO
        {
                public $coduser;
                public $nome;
                public $email;
                public $login;
                public $senha;
                public $ativo;
                public $root;

                public $_explicitType = "br.com.sajsoft.sms.vo.UserVO";
        }
?>

package br.com.sajsoft.sms.vo
{
        [Bindable]
        [RemoteClass(alias="br.com.sajsoft.sms.vo.UserVO")]

        public class UserVO
        {
                public var coduser:uint;
                public var nome:String;
                public var email:String;
                public var login:String;
                public var senha:String;
                public var ativo:String;
                public var root:String;

        }
}

//Classe remote

package br.com.sajsoft.sms.remote{

        import br.com.sajsoft.sms.vo.UserVO;

        import mx.controls.Alert;
        import mx.rpc.AsyncToken;
        import mx.rpc.Responder;
        import mx.rpc.events.FaultEvent;
        import mx.rpc.remoting.mxml.RemoteObject;

        public class RemoteSMS{

                private var bridge:RemoteObject;

                //singleton
                private static var instance:RemoteSMS;
                public static function getInstance():RemoteSMS{
                        if(instance == null){
                                instance = new RemoteSMS();
                        }
                        return instance;
                }
                //Funcao chamada em caso de falha no remote
                private function defaultFaultHandler(e:FaultEvent):void{
                        Alert.show(e.fault.faultDetail, e.fault.faultString);
                }

                public function Logar(ClassName:String, dadosVO:UserVO,
result:Function):void
                {
                        bridge.source = 'sms.' + ClassName;
                        var async:AsyncToken = bridge.Login(dadosVO);
                        async.addResponder(new Responder(result, 
defaultFaultHandler));
                }

                public function RemoteSMS()
                {
                        bridge = new RemoteObject();
                        bridge.showBusyCursor = true;
                        bridge.destination = 'amfphp';
                }
        }
}

//component de login

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute"
width="268" height="184" title="Digite seu login e Senha">
        <mx:Script>
                <![CDATA[
                        import mx.rpc.events.ResultEvent;
                        import br.com.sajsoft.sms.vo.UserVO;
                        import br.com.sajsoft.sms.remote.RemoteSMS;
                        import mx.rpc.remoting.mxml.RemoteObject;
                        import mx.controls.Alert;

                        private var remote:RemoteSMS = RemoteSMS.getInstance();

                        //Funcao de autenticacao
                        private function Autenticar():void{
                                if(txtLogin.text != "" && txtSenha.text != ""){

                                        var loginVO:UserVO = new UserVO();
                                        loginVO.login = txtLogin.text;
                                        loginVO.senha = txtSenha.text;

                                        remote.Logar('ClassUsuario', loginVO, 
AutenticarResult);

                                }else{
                                        MessageLoginError.text = "Por favor, 
preencha todos os
campos!!!";
                                }
                        }

                        private function AutenticarResult(e:ResultEvent):void{
                                if(e.result.logado == "YES"){
                                        Alert.show("UHUHUHUHU, estamos logado " 
+
e.result.logado,"Mensagem:");
                                }else{
                                        MessageLoginError.text = e.result.erro;
                                        txtLogin.text = "";
                                        txtSenha.text = "";
                                }
                        }

                ]]>
        </mx:Script>

        <mx:Label x="10" y="10" fontFamily="Verdana" fontSize="10"
fontStyle="normal" fontWeight="bold" textAlign="left" width="222"
color="#F81207" id="MessageLoginError"/>
        <mx:Label x="10" y="38" text="Login"/>
        <mx:Label x="10" y="80" text="Senha"/>
        <mx:TextInput x="72" y="36" id="txtLogin"/>
        <mx:TextInput x="72" y="78" id="txtSenha" displayAsPassword="true"/>
        <mx:Button x="160" y="108" label="Acessar" id="btnLogin"
click="Autenticar()"/>
</mx:Panel>

//main

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="absolute"
        width="1098" height="746" horizontalAlign="center"
        xmlns:comp="br.com.sajsoft.sms.component.*">
        <mx:Script>
                <![CDATA[
                        import br.com.sajsoft.sms.vo.UserVO;
                ]]>
        </mx:Script>


        <comp:LoginPanel x="675" y="300">
        </comp:LoginPanel>

</mx:Application>

//back-end

<?php
include_once 'br/com/sajsoft/sms/vo/UserVO.php';
include_once 'classes/caiubiphp/modelflex.php';

class ClassUsuario
{
         public function Login(UserVO $dadosVO){
                $aut = new Model('usuario');
                $aut->find(array('*'),"login = '$dadosVO->login' and senha =
'$dadosVO->senha'");

                $resultado['logado'] = null;
                $resultado['erro'] = null;

                if ($aut->result()){
                        $resultado['logado'] = "YES";
                        //Cria sessao
                        $_SESSION['coduser'] = $user->coduser;

                        return $resultado;
                }else{
                        $resultado['erro'] =   "Usuário ou Senha Inválido";
                        $resultado['logado'] = "NO";
                        return $resultado ;
                }
        }
}

-------------

Desculpem o memorando e please help me!!!










--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a