JBoss 5.1 + VRaptor 3.1.3  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
seufagner
JavaEvangelist
[Avatar]

Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline

Ola

Quando faço o deploy de um WAR no JBoss 5.1 recebo o seguinte erro:


javax.servlet.ServletException: VRaptor must be run inside a Servlet environment. Portlets and others aren't supported.
br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:72)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


Andei olhando o fonte do VRaptor, mais exatamente a o filtro (br.com.caelum.vraptor.VRaptor ) e ele tem o seguinte código:




O connector do Tomcat 6, embedded no JBoss 5.1, utiliza as classes org.apache.catalina.connector.RequestFacade e org.apache.catalina.connector.ResponseFacade, estas que implementam, de qualquer maneira, HttpServletRequest. Estranho o instanceof não funcionar.

Alguma idéia?

This message was edited 1 time. Last update was at 29/11/2010 17:43:10


@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
[Email] [WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline

tira o filtro do VRaptor, e crie um Filter que só imprime o request e o response, as classes deles e o resultado do instanceof...

às vezes vc subiu o jboss com alguma configuração que não usa httpServlet

--
Caelum
www.caelum.com.br

seufagner
JavaEvangelist
[Avatar]

Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline

Lucas

Eu verifiquei isso debugando já. As classes que ele utiliza são essas que citei no primeiro post da thread, mais exatamente org.apache.catalina.connector.RequestFacade e org.apache.catalina.connector.ResponseFacade

Verifiquei na API do Tomcat 6 que ambas implementam HttpServletRequest, HttpServletResponse, porém o instanceof retorna false. (?????)

Eu estou usando a configuration web do JBoss, ela me atende já.

Bem, vou investigar aqui, não existe mágica. rs

Tks!

@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
[Email] [WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline

se o instanceof retorna falso elas não implementam HttpServletRequest e Response, simples assim.

concordo que na API do tomcat 6 oficial essas classes implementam os HSRs, mas e no tomcat dentro do jboss?
será que é a mesma versão?

no debug do eclipse, use a view Display, e digite isso (com breakpoint no if problemático):


o que ele retorna?

--
Caelum
www.caelum.com.br

seufagner
JavaEvangelist
[Avatar]

Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline

Referência:

http://docs.jboss.org/jbossas/docs/Installation_And_Getting_Started_Guide/5/html/The_JBoss_Server___A_Quick_Tour.html

http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/connector/RequestFacade.html
http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/connector/ResponseFacade.html

Obs: O JBossAS utiliza o JBoss Web, este que, por sua vez, é baseado no Tomcat .

@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
[Email] [WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline

então ou o seu java não sabe fazer instanceof ou o tomcat que vc está usando é modificado

faz aquelas linhas de debug que eu te pedi, por favor, e posta aqui pra eu ter uma idéia melhor do que está acontecendo

--
Caelum
www.caelum.com.br

seufagner
JavaEvangelist
[Avatar]

Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline




req.getClass().getInterfaces() >> [interface javax.servlet.http.HttpServletRequest]
res.getClass().getInterfaces() >> [interface javax.servlet.http.HttpServletResponse]

Acredita que no instanceof retorna false? rs




@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
[Email] [WWW]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Oi Seu fagner

Simplesmente um bug incrivel. O jboss nao esta passando um httpservletrequest/response? Faz algum sentido?

Teria como voce testar nos ultimos betas do 6? Alguma coisa esta muito errada.
paulo

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
bobmoe
GUJ Ranger
[Avatar]

Membro desde: 11/07/2006 20:45:48
Mensagens: 806
Localização: Sampa
Offline

é como se o servlet-api.jar tivesse uma interface diferente da que o tomcat usou na implementação.
podia tentar substituir esse arquivo de interfaces pelo que tomcat usa, pra ver se funciona.

BOB - Roberto Nogueira - bobmoe.blogspot.com
[WWW] [MSN]
seufagner
JavaEvangelist
[Avatar]

Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline

@bobmoe

Não creio. Estas interfaces fazem parte da especificação.

@Paulo

Justamente por isso eu achei muito estranho, não faz sentido algum. Acredito que eles não cometeriam nem deixariam passar algo tão bobo assim.

Estou tentando rodar no JBoss6 RC1, mas estou levando cano por enquanto.




@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
[Email] [WWW]
Everton Rodrigues
Smalltalk
[Avatar]

Membro desde: 15/08/2008 22:11:52
Mensagens: 3
Offline

Fala galera.

Estou com o mesmo problema...
Alguem solucionou!?


Valeu.
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline

vc tá com a última versão do VRaptor? 3.3.1?

--
Caelum
www.caelum.com.br

Everton Rodrigues
Smalltalk
[Avatar]

Membro desde: 15/08/2008 22:11:52
Mensagens: 3
Offline

Descobri, conflito da api servlet-api que estava no meu projeto removi do build e ta tudo lindo!
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team