Problemas com DWR 3

0 respostas
maykoone

Dae galera,

estou tendo alguns problemas com o DWR 3, e antes de cadastrar algum bug lá no site resolvi ver se alguém já passou por isso.
O problema é o seguinte: ao fazer uma chamada ajax com DWR passando um JSON através do jquery, o DWR não consegue
fazer o setterInjection no meu bean, já percebi que isso tá acontecendo por causa do formato JSON que está sendo passado, mas
não consegui resolver de jeito nenhum. segue o código abaixo seguindo do erro que aparece no console do tomcat.

//no lado do servidor esta classe é utilizada para escutar as requisições do DWR
public class FacadeAjax {

    public String salvarContato(Contato contato) {
        //...
    }
   
}

na minha página tenho a chamada ajax, lembrando que agora no DWR 3 consigo fazer chamadas a urls normais.

...
//chamda através do jquery
submitHandler:function(form){
                var contato = {id:null,nome:null,email:null,endereco:null,telefone:null};
                dwr.util.getValues(contato);
                
                $.post("/app/dwr/jsonp/FacadeAjax/salvarContato?param0=" + encodeURIComponent($.toJSON(contato)),{}, function(data){
  
                    //...
                },"json");
            }
...
a requisição está chegando na classe FacadeAjax, o DWR instância o meu POJO Contato, mas não seta as propriedades porque o JSON que está sendo enviando está da seguinte forma:
param0:{"id":"","nome":"","email":"[email removido]","endereco":"","telefone":"000000000"}

o nome das propriedades estão entre aspas, isso acontece depois de fazer o encode com o plugin $.toJSON e no console do
tomcat dá pra ver claramente o que ocorre:

Ago 21, 2011 7:40:46 PM org.directwebremoting.convert.BasicObjectConverter createUsingSetterInjection
Advertência: Missing setter: br.ufpr.posees.agenda.entidades.Contato.set"nome"() to match javascript property: "nome". Check include/exclude rules and overloaded methods.

O pior que no próprio tutorial do DWR também parece estar com o mesmo erro. Será que tem como resolver ou deve ser um bug mesmo?

Criado 21 de agosto de 2011
Respostas 0
Participantes 1