Ajuda flex java jdbc e BlazeDs [Resolvido]

3 respostas
cristianoventura

Pessoal estava desenvolvendo um sistema para consultorio médico mais
tive que parar porque me surgiu uma duvida na hora da configuração com
o remoteObjetc e o blazds.

Estou utulizando o puglin do flex no eclipse Ganymed e o blazeDs para
integrar flex com o java.

Criei uma classe java com o nome ConnectionFactory onde esta classe é
responsavel por fazer a conexao com o banco de dados , uma classe com
o nome Pessoa onde e outra PessoaDAO onde esta é responsavel por fazer
a inserção no banco de dados.

Entretanto quando fui fazer a inserção no banco de dados o sistema deu
o erro “Erro= Cannot invoke method insert”

A minha duvida é em relação as minhas classes se estão correta a minha
configuração no RemoteObject e remote-config.xml nao estou
conseguindo gravar no meu banco de dados.Segue todos os codigos do meu
projeto para que seja feita a analise.Fico no agaurdo.Obrigado!

http://pastebin.com/5ebkxRNZ

http://pastebin.com/gSmNVdrQ

http://pastebin.com/T22vqdB2

http://pastebin.com/a0ZazTC0

http://pastebin.com/XgG3tP6n

3 Respostas

RodrigoValentim

modifica teu xml

<destination id="conectarjava">
	<properties>
		<scope>session</scope>
		<source>br.com.servicos.PessoaDAO</source>
	</properties>
</destination>

outro erro que vi foi que você está passando 3 objetos do lado do flex

conectarjava.insert(ti_codigo.text,ti_nome.text,ti_email.text);

instancia a entidade (VO) do lado flex e passa ela como parametro pra voce fazer o insert do lado java.

e no java voce está aguardando somente

public static  void insert (Pessoa pessoa)  {

outra coisa… você precisa mapear as classes java e flex.

ex:

package vo;

public class Funcionario {

	private Long funcionarioId;
	private String nome;
	private String endereco;
	private Integer idade;
	private Float salario;
	
	public Long getFuncionarioId() {
		return funcionarioId;
	}
	public void setFuncionarioId(Long funcionarioId) {
		this.funcionarioId = funcionarioId;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public Integer getIdade() {
		return idade;
	}
	public void setIdade(Integer idade) {
		this.idade = idade;
	}
	public Float getSalario() {
		return salario;
	}
	public void setSalario(Float salario) {
		this.salario = salario;
	}	
}

e no flex

package vo
{	
	[Bindable]
	[RemoteClass(alias="vo.Funcionario")]
	public class Funcionario
	{
		public function Funcionario()
		{
		}
		
		private var _funcionarioId:Number;
		private var _nome:String;
		private var _endereco:String;
		private var _idade:int;
		private var _salario:Number;
		
		public function set funcionarioId(funcionarioId:Number):void {
			_funcionarioId = funcionarioId;
		}
		
		public function get funcionarioId():int {
			return _funcionarioId;
		}
		
		public function set nome(nome:String):void {
			_nome = nome;
		}
		
		public function get nome():String {
			return _nome;
		}
				
		public function set endereco(endereco:String):void {
			_endereco = endereco;
		}
		
		public function get endereco():String {
			return _endereco;
		}
		
		public function set idade(idade:int):void {
			_idade = idade;
		}
		
		public function get idade():int{
			return _idade;
		}

		public function set salario(salario:Number):void {
			_salario = salario;
		}
		
		public function get salario():Number {
			return _salario;
		}
	}
}

acho que é só!

cristianoventura

no java

package br.com.servicos;

public class Pessoa {

private int codigo;
private String nome;
private String email;


public int getCodigo() {
    return codigo;
}

public void setCodigo(int codigo) {
    this.codigo = codigo;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
  }

 }

no flex

package vo
{
	[Bindable]
	[RemoteClass(alias="br.com.servicos.Pessoa")]
	public class Pessoa
	{
		public function Pessoa()
		{
			
		}
           private var pcodigo;
           private var pnome;
           private var pemail;
           
           public function set codigo(codigo:Number):void{
           	pcodigo=codigo;
           	
           }
           public function get codigo():int {
           	return pcodigo;
           }
           public function set nome(nome:String):void{
           	pnome=nome;
           	}
           	public function get nome():String{       	
           		return pnome;
 	
	}
	      public function set email(nome:String):void{
           	pemail=email;
           	}
           	public function get email():String{       	
           		return pemail;
           	}
           	
	}
}
cristianoventura

Problema resolvido valeu Rodrigo Valetim

Criado 15 de maio de 2010
Ultima resposta 24 de mai. de 2010
Respostas 3
Participantes 2