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
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ó!
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;
}
}
}
Problema resolvido valeu Rodrigo Valetim