Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

keepkuler

[Resolvido] Flash x ZendAmf

Recommended Posts

Olá a todos!

Primeiramente quero desejar um Feliz 2011 a todos integrantes do fórum. Que seja um ano melhor e próspero para todos!

 

Gente,

Preciso de uma ajuda com Flash e ZendAmf. Estou realizando alguns teste para começar a usar o ZendAmf na comunicação com BD. O que acontece:

 

Testando as páginas php, é retornado com sucesso todas as conexões com o BD, as classes são lidas normalmente e as informações visualizadas. Por outro lado, ao testar a mesma aplicação usando o Flash, não consigo o mesmo sucesso, me retorna a seguinte mensagem:

 

NetStatusEvent: não manipulado. level=error, code=NetConnection.Call.BadVersion

Debugando o flash a linha retornada é a: nc.connect("../php/src/server.php").

 

Abaixo coloco o código que estou usando no Flash.

private function doValida(e:MouseEvent):void 
{
 var nc:NetConnection = new NetConnection();			
 nc.connect("../php/src/server.php");
 var res:Responder = new Responder(onResult, onError);
 nc.call("Comments.getAuthors", res);
}

private function onResult(e:Object):void
{
 trace("**", e);
 for (var i:int = 0; i < e.length; i++)
 {
   trace("result:", (i + 1) + " - " + e[i].nome + "\n");
 }
}

private function onError(e:Object):void
{
 trace("error:", e.toString());
}

 

Segui o tutorial http://www.gotoandlearn.com/play.php?id=90

 

Se alguém puder me ajudar a enteder as possíveis causas do erro, ficarei grato!

 

Agradeço a ajuda de todos! Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mostre o código de implementação do seu servidor Zend_Amf.

 

Bruno, segue o código no php.

 

server.php

<?php
error_reporting(E_ALL|E_STRICT);

ini_set("display_errors", "on");
ini_set("include_path", $_SERVER['DOCUMENT_ROOT']."frameworks");

require_once('Zend/Amf/Server.php');
require_once('Comments.php');

$server = new Zend_Amf_Server();
$server->setClass("Comments");

echo($server->handle());
?>

A linha 'echo($server->handle());' retorna: Zend Amf Endpoint

 

Comments.php

<?php
require_once("Conexao.php");

class Comments
{	
 public function __construct(){}

 public function getComments()
 {
   $conn 	= new Conexao;
   $t		= array();

   $sql 	= "select * from freelancer";
   $query	= mysql_db_query($conn->db, $sql, $conn->conn) or die(mysql_error());

   while($rs = mysql_fetch_assoc($query)) 
   {
     array_push($t, $rs);
   }

   return $t;
   $conn->Close();
 }
}
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de colocar isso: nc.connect("../php/src/server.php");

Coloque o endereço absoluto. Depois copie esse endereço e teste no browser pra ve se ta encontrando tudo certinho.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de colocar isso: nc.connect("../php/src/server.php");

Coloque o endereço absoluto. Depois copie esse endereço e teste no browser pra ve se ta encontrando tudo certinho.

Abs

 

Matheus,

O endereço está absoluto no código. Aqui no fórum que apresentei relativo.

 

Colando no browser o endereço absoluto o acesso é realizado com sucesso.

 

Mesmo assim no Flash não há retorno.

 

 

O teste está sendo realizado no FTP do domínio, não é local.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a todos!

Quero agradecer o auxílio de todos, mas não sei o que acontece, realmente não vai para a frente a comunicação.

 

Deixei, pelo menos neste momento, o uso do Zend e irei usar as classes nativas do flash para fazer a comunicação. Tento a classe pronta, posto aqui como alternativa para a galera.

 

 

Novamente valeu a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.