| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2009 14:46:38
|
lucasant
What is classpath?
Membro desde: 27/09/2007 12:12:25
Mensagens: 9
Offline
|
Estou fazendo um iterceptor simples para validar sessão, quando carrega a aplicação e o interceptor atua, gera uma exceção.
Pecebi que é na hora do redirecionamento. Tentei por lógica e por página, mas gera o mesmo erro.
podem me ajudar?
Exceção:
Código do interceptor:
código do userMgrController:
This message was edited 1 time. Last update was at 04/09/2009 10:56:19
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2009 15:06:04
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline
|
Pelo que eu vi não tá chegando nesse interceptor... ou se chega, dá uma olhada na uri que ele tá chamando...
pelo jeito ele não conseguiu instanciar algum parâmetro da lógica... e deu erro de validação por causa disso
qual uri você tá chamando que chega nesse código?
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2009 15:49:03
|
lucasant
What is classpath?
Membro desde: 27/09/2007 12:12:25
Mensagens: 9
Offline
|
Se entendi direito:
quando chama o list do faq, o interceptor é chamado, e verifica se há usuário logado, então ele redireciona para a URL("http://localhost:8080/teste-vraptor3-groupwareworkbench/groupware-workbench/1/userMgr/login").
nesse momento do redirecionamento dentro do interceptor é lançada a exceção.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2009 18:58:38
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
Parece que algum dos parametros que voce esta passando esta com erro de conversao. Por exemplo o campo eh int e vc esta passando uma string. Quais os parametros e qual o modelo que vc esta usando?
A mensagem de erro deveria ser mais educada, claro. O Sergio Lopes esta trabalhando nesse bug.
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2009 20:03:26
|
wariows
JavaGuru
![[Avatar]](/images/avatar/87da3a68e40336b5aaed42e34be59e3b.jpg)
Membro desde: 03/11/2006 02:27:43
Mensagens: 206
Offline
|
Guilherme Silveira wrote:Parece que algum dos parametros que voce esta passando esta com erro de conversao. Por exemplo o campo eh int e vc esta passando uma string. Quais os parametros e qual o modelo que vc esta usando?
A mensagem de erro deveria ser mais educada, claro. O Sergio Lopes esta trabalhando nesse bug.
Ele está requisitando um parâmetro pelo @Path e não está colocando o parametro no método:
ninguém tá recebendo {idToolInstance}, será que é isso?
O certo seria:
Não sei de onde vem esse 'User' tb...
This message was edited 3 times. Last update was at 03/09/2009 20:06:04
|
"Tudo o que você precisará quando o universo acabar é de uma toalha"
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2009 01:07:10
|
lucasant
What is classpath?
Membro desde: 27/09/2007 12:12:25
Mensagens: 9
Offline
|
O User vem do form da tela de login, ao fazer submit, ele chama o método doLogin(User user), mas ele nem chega ar ir para o método login().
Quando o interceptor redireciona para a tela de login, chamando o métod login() do userMgrController, ele gera a exceção na chamada do redirecionamento.
Muito obrigado por estarem me ajudando. Vou tentar essas dicas que vocês sugeriram.
This message was edited 1 time. Last update was at 04/09/2009 01:08:13
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2009 01:19:17
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
|
oi lucas
de o feedback assim que testar!
abracos
|
http://blog.caelum.com.br twitter: @paulo_caelum
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2009 08:19:01
|
wariows
JavaGuru
![[Avatar]](/images/avatar/87da3a68e40336b5aaed42e34be59e3b.jpg)
Membro desde: 03/11/2006 02:27:43
Mensagens: 206
Offline
|
lucasant wrote:O User vem do form da tela de login, ao fazer submit, ele chama o método doLogin(User user), mas ele nem chega ar ir para o método login().
Quando o interceptor redireciona para a tela de login, chamando o métod login() do userMgrController, ele gera a exceção na chamada do redirecionamento.
Muito obrigado por estarem me ajudando. Vou tentar essas dicas que vocês sugeriram.
Mesmo problema cara, vc precisa receber os parametros que especificou no path no método. tem que ficar assim:
|
"Tudo o que você precisará quando o universo acabar é de uma toalha"
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2009 08:33:34
|
galmeida
Thread.start()
![[Avatar]](/images/avatar/d74a214501c1c40b2c77e995082f3587.png)
Membro desde: 03/11/2004 17:44:16
Mensagens: 28
Offline
|
Não sei se ajuda ou atrapalha: eu recebi a mesma exception (You must call goTo method in order to specify where to go) quando usei a validação no estilo clássico sem chamar validator.onError().goTo(FuncionarioController.class).formulario();
|
galmeida |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2009 10:55:35
|
lucasant
What is classpath?
Membro desde: 27/09/2007 12:12:25
Mensagens: 9
Offline
|
Resolvido.
Com a ajuda do meu chará Lucas da Caelum, vimos que é um bug do vraptor 3 que eles consertarão.
O problema é que na chamada da URL ele teria que chamar o login, por algum motivo ele casa com o padrão do método delete, esperando o parâmetro User.
Por isso ocorre o erro.
Colocando prioridades no @Path dos métodos, o problema foi resolvido.
obrigado a todos que tentaram me ajudar!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2009 14:10:16
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
Repara que nao eh bem um bug. Se voce nao usa as prioridades, teoricamente nao da para saber se userMgr/login eh para fazer match com a url de baixo ou a decima.
O Lucas se referiu a implementacao de suporte a deteccao por tipo. Se user.id e' do tipo int, ele vai percebe que login nao e' int, entao nao e' para ir para essa url. Apesar de resolver alguns problemas, somente o uso de prioridade vai servir. O caso a seguir eh um exemplo que nao resolveria sem prioridade:
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
|
|