Olá, Visitante. Por favor Entre ou Registe-se se ainda não for membro.
20 de Novembro de 2008, 18:40:35
Início Ajuda Pesquisa Entrar Registe-se
Notícias: PARTICIPE NO NOSSO FÓRUM!
Coloque dúvidas, ajude quem precisa, mostre o que sabe, revele-nos os seus trabalhos, etc!


+  Redcodestudio
|-+  Flash Flex RIA Communities
| |-+  Adobe Flex
| | |-+  Problemas com flex + mysql
« anterior seguinte »
Páginas: [1] Ir para o fundo Imprimir
Autor Tópico: Problemas com flex + mysql  (Lida 2593 vezes)
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« em: 27 de Novembro de 2007, 09:54:33 »

Bom dia pessoal é o seguinte estava tentando conectar flex+php+amfphp+mysql.

So que no fazer testes com o amfphp no browse tenho este erro.

Invalid AMF message

Fatal error: Uncaught exception 'VerboseException' with message 'Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sequencial_flex_amfphp\amfphp\services\sequencial_flex_amfphp\Teste.php:1)' in C:\xampp\htdocs\sequencial_flex_amfphp\amfphp\core\amf\app\Gateway.php:191
Stack trace:
#0 C:\xampp\htdocs\sequencial_flex_amfphp\amfphp\core\amf\app\Gateway.php(191): amfErrorHandler(2, 'Cannot modify h...', 'C:\xampp\htdocs...', 191, Array)
#1 C:\xampp\htdocs\sequencial_flex_amfphp\amfphp\gateway.php(152): Gateway->service('Content-type: a...')
#2 {main}
thrown in C:\xampp\htdocs\sequencial_flex_amfphp\amfphp\core\amf\app\Gateway.php on line 191

Alguem poderia me ajudar.

Grato

Ou se alguem tem como me passar algum ajuda pra min realizar esta conexao, ja segui diversos tutoriais mais nao consegui, fico grato se alguem puder me ajudar...
Registado
alftuga
Aprendiz
**
Offline Offline

Mensagens: 202


Ver Perfil WWW
« Responder #1 em: 27 de Novembro de 2007, 20:38:27 »

por acaso podes dizer qual versão do amfphp estas a utilizar?

já verificastes se consegues ver alguma coisa com o service browser?
------------------------------------------------------------------------------------
o primeiro passo com o amfphp é ver se ele esta bem instalado

depois fazes uma class em php na pasta services

a seguir testa essa class no service browser

so depois é que deves te preocupar com a ligação ao flex...

cps
Registado
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« Responder #2 em: 28 de Novembro de 2007, 09:42:38 »

Ola minha versao é a 1.9B. Qto ao sevice browse ele roda normalmente com um exemplo que vem com ele. Agora qdo rodo o meu exemplo nao funciona. Meu PHP esta assim:

<?php
        /**
         * Tutorial de AMF3
         * Criado por: Marcelo Gallina
         * Data: 17/06/2007
         */
       
        class OlaAmf3 {
       
            /**
             * Método OlaAmf3
             * @returns uma string contendo a frase "Ola AMF3"
             */
           
            function mostraString()
            {
                return 'Olá AMF3';
            }
}

Mesmo assim nao funciona:
Registado
alftuga
Aprendiz
**
Offline Offline

Mensagens: 202


Ver Perfil WWW
« Responder #3 em: 29 de Novembro de 2007, 11:01:24 »

humm estas a dizer que a tua class OlaAmf3 não roda no service browser?

cuidado com o teu codigo de php pois o ficheiro tem que ser fechado no final com "?>"

já verificastes se destes o mesmo nome o teu ficheiro php que o nome da tua class respeitando a maiúscula?

colocastes a tua class na pasta services do amfphp?

enquanto não consegues ver a tua class no service browser não vale a pena te preocupares com outra coisa porque vem dai o teu problema.


cps



Registado
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« Responder #4 em: 29 de Novembro de 2007, 19:31:56 »

Opa Valeu pelas resposta agora funcionou o problema era que meu arquivo.php nao era o mesmo nome da minha classe, agora vou testar um esquema mais avancado..

bye bye
Registado
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« Responder #5 em: 30 de Novembro de 2007, 17:13:26 »

Entao pessoal um novo problema surgio, éo seguinte a conexao com o amfphp e mysql esta ok ele retorna meus dados blz... no browser.
Na aplicacao local roda e mostra os dados do banco mysql num data grid.
So que no meu servidor linux nao consigo fazer isso ate o amf php meus dados chegam so que qdo tento rodar a minha aplicação la fica carregando mas nao retorna os dados do banco entende...
Alguem poderia me dar umas dicas. como a minha classe conexao.php fica dentro do servidor eu acesso ela como localhost mas no meu flex pra chamar o php uso o endereco do servidor http://ip/amfphp/gateway.php.
mas nao tenho retorno.

Fico grato se alguem puder ajudar.
Registado
yarcub
Aprendiz
**
Offline Offline

Mensagens: 138


Ver Perfil
« Responder #6 em: 30 de Novembro de 2007, 19:27:11 »

Podes mostrar o conteúdo do teu services-config.xml?

Verifica se mudaste o  endpoint para o endereço da gateway no servidor antes de compilar a versão final.
Registado
alftuga
Aprendiz
**
Offline Offline

Mensagens: 202


Ver Perfil WWW
« Responder #7 em: 4 de Dezembro de 2007, 11:56:27 »

Não tenho a certeza do que eu vou te dizer mas acho que esse ficheiro é obrigatório para realizares essa comunicação.
cps
Registado
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« Responder #8 em: 1 de Dezembro de 2007, 16:17:23 »

Olha so meu esquema esta assim:
Como local host funciona ok:
No local host esta assim:
No flex: http://localhost/amfphp/gateway.php
Amfphp esta em : http://localhost/amfphp
Chamo o flex em : http://localhost/flexphp/bin/flexphp.html

Na estrutura acima tudo funciona.

No meu servidor esta assim:
No flex: http://192.168.0.300/amfphp/gateway.php
Amfphp esta em: http://192.1680.300/amfphp
Chamo o flex em: http://192.168.0.300/flexphp/bin/flexphp.html
ou http://192.168.0.301/flexphp/bin/flexphp.html
Aqui no browser do amfphp eu pego as informações mas no flex nao retorna nada... e nao tenho nenhum erro.

Meu php esta assim:

<?php
// criando uma classe para PHP Remoting
class conexao {
  function conexao() {
    $this->methodTable = array(
     "getLista" => array(
     "description" => "Retorna conteudo da tabela",
     "access" => "remote"));
   }
     function getLista() {
      $conexao = mysql_connect("localhost","root","123456");
                         mysql_select_db("isp", $conexao);
                        $sql = "SELECT * FROM users";
                        $resultado = mysql_query($sql, $conexao);
                        while ($linha = mysql_fetch_object($resultado)) {
                                                $ArrayRetorno[]=$linha;
       }
        mysql_free_result($resultado);
        return($ArrayRetorno);
        }
}
?> // este retorna os dados ate o browse do amf php mas nada pro flex

No flex esta assim
 <mx:DataGrid dataProvider="{PHPDados}" x="10" y="10">
    <mx:columns>
         <mx:DataGridColumn headerText="Código" dataField="id"/>
         <mx:DataGridColumn headerText="Nome" dataField="nome"/>
         <mx:DataGridColumn headerText="email" dataField="email"/>
    </mx:columns>
  </mx:DataGrid>
  <mx:Script>
  <![CDATA[
    import flash.net.Responder;
    import mx.controls.Alert;
    [Bindable]
    public var PHPDados: Array;
   
    public var gateway: ConexaoRemota;
   
    public function buscaDadosMYSQL():void {
      gateway = new ConexaoRemota("http://192.168.0.300/amfphp/gateway.php");
      gateway.call("conexao.getLista", new Responder(onOK, onFalha))
    }
    public function onOK(resultado:Array):void {
      PHPDados = resultado;
      Alert.show("teste");
    }
    public function onFalha(falha:String):void {
      trace(falha);
    }
   ]]>
 </mx:Script>         
</mx:Application> // ak nao retorna nada no meu browse nem obtenho erro.

Meu actionscript esta assim
package {
  import flash.net.NetConnection;
  import flash.net.ObjectEncoding;
    public class ConexaoRemota extends NetConnection {
       public function ConexaoRemota(strURL:String) {
           objectEncoding = ObjectEncoding.AMF0;
             if(strURL) connect(strURL);
       }
    }
}




Registado
alftuga
Aprendiz
**
Offline Offline

Mensagens: 202


Ver Perfil WWW
« Responder #9 em: 3 de Dezembro de 2007, 15:57:05 »

por favor mlorenzi11
responde a pergunta do yarcub ela faz todo o sentido Wink

mostra esse codigo desse ficheiro.
Registado
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« Responder #10 em: 3 de Dezembro de 2007, 16:30:54 »

eu nao tenho um services-config.xml
chamo tudo direto do meu projeto em flex e mudei ele sim:

No flex: http://192.168.0.300/amfphp/gateway.php
Registado
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« Responder #11 em: 3 de Dezembro de 2007, 16:31:47 »

Tanto que se eu digitar este endereco tenho o retorno informando que o amfphp esta ok...
Registado
mlorenzi11
Iniciado
*
Offline Offline

Mensagens: 10


Ver Perfil
« Responder #12 em: 12 de Dezembro de 2007, 17:23:44 »

Problema solucionado, o meu problema nao era nem no flex nem no amfphp, e sim no codigo PHP, pois nao sei por qual motivo eu copie o script de um micro pra outro e ele se perde no cabeçalho, ai a solucao foi criar um novo e copiar a logica e tudo funcionou normalmente.
Registado
alftuga
Aprendiz
**
Offline Offline

Mensagens: 202


Ver Perfil WWW
« Responder #13 em: 5 de Dezembro de 2007, 10:37:15 »

mlorenzi11
tens que configurar services-config.xml

http://www.howtoforge.com/amfphp_adobe_flex2_sdk



Registado
alftuga
Aprendiz
**
Offline Offline

Mensagens: 202


Ver Perfil WWW
« Responder #14 em: 13 de Dezembro de 2007, 12:27:16 »

fixe
Registado
Páginas: [1] Ir para o topo Imprimir 
« anterior seguinte »
Ir para:  


Entrar com nome de utilizador, password e duração da sessão


Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
XHTML 1.0 válido! CSS válido!
Página criada em 0.065 segundos com 19 procedimentos.