Vc não mandou a classe projetoVO em PHP.
Normalmente esse erro acontece quando o amfPHP não consegue encontrar a
classe VO em PHP.
Aí ele passa o parâmetro como array e não como objeto.

Uma dica de boa prática: para nomes de classes, utilize sempre
"UpperCamelCase", ou seja, a primeira letra de toda palavra em maiúsculo, e
o resto da palavra todo em minúsculo. Ao invés de projetoVO, utilize
ProjetoVO, com o "P" maiúsculo.
Nomes de métodos e atributos, sempre, "lowerCamelCase".


Marcos Paulo Marques Corrêa
___________________________
Especialista em Engenharia de Software
Pós-Graduado em Tecnologia da Informação
________________________________________
http://www.software.eti.br




-----Mensagem original-----
De: [email protected] [mailto:[email protected]] Em nome de
Flávio Tomazio
Enviada em: terça-feira, 23 de dezembro de 2008 15:16
Para: flexdev
Assunto: [flexdev] Insert com amfPHP


Estou tentando fazer um insert com AMF PHP, mas ele diz que tipo de
dado não corresponde ao que foi pedido.
Ele dá essa mensagem:

"Argument 1 passed to Projeto::updateItem() must be an instance of
projetoVO, array given' faultDetail:'C:\xampp\htdocs
\ControlaRequisitosAMF\amfphp\services\crud\projeto.php on line 31' :
[object Object] : null"

A ação é essa:

Flex
private function updateItem():void {
                                var proj:projetoVO = new projetoVO();
                                proj.id = parseInt(tiID.text);
                                proj.nome =     tiNome.text;
                                var async:AsyncToken =
projetoService.updateItem(proj);
                        }

PHP
public function updateItem(projetoVO $proj){
                $db = connection();
                $db->Execute("UPDATE `projeto` SET nome='{$dados->nome}'
WHERE id =
'{$dados->id}'");
                return $dados;
        }

Classe no Flex
package br.com.controla.vo
{

        [Bindable]
        [RemoteClass(alias="br.com.controla.vo.projetoVO")]

        public class projetoVO
        {
                public var id:uint;
                public var nome:String;
        }
}



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

Responder a