| Autor |
Mensagem |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 03/10/2008 14:58:03
|
serjaumfantin
What is Tomcat?
![[Avatar]](/forum/images/avatar/139ccdbf5a1b8401e93441d7f174ad00.png)
Membro desde: 29/06/2007 00:00:00
Mensagens: 84
Offline
|
Olá pessoal,
estou com um problema no meu serviço que usa RESTEasy + Hibernate.
Consigo utilizar meus serviços mais simples normalmente, mas quando faço chamadas a métodos que fazem persistência, recebo um erro no Tomcat.
Segue um trecho do código do serviço:
Quando eu faço a chamadas..
... recebo as respostas:
OK!!
Hello Mr. Sergio
Mas quando chamo...
... recebo o erro:
INFO: Starting Coyote HTTP/1.1 on http-8080
03/10/2008 12:29:43 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
03/10/2008 12:29:44 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/77 config=null
03/10/2008 12:29:44 org.apache.catalina.startup.Catalina start
INFO: Server startup in 9504 ms
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
java.lang.RuntimeException: Failed processing public com.restful.resteasy.bo.Person com.restful.resteasy.restservice.PersonREST.findPerson(java.lang.Long)
at org.resteasy.MethodInjectorImpl.invoke(MethodInjectorImpl.java:109)
at org.resteasy.ResourceMethod.invoke(ResourceMethod.java:162)
at org.resteasy.ResourceMethod.invoke(ResourceMethod.java:134)
at org.resteasy.Dispatcher.invoke(Dispatcher.java:161)
at org.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:138)
at org.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:77)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ExceptionInInitializerError
at com.restful.resteasy.dao.DaoFactory.<init>(DaoFactory.java:13)
at com.restful.resteasy.service.PersonServiceImpl.<init>(PersonServiceImpl.java:14)
at com.restful.resteasy.restservice.PersonREST.findPerson(PersonREST.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.resteasy.MethodInjectorImpl.invoke(MethodInjectorImpl.java:72)
... 18 more
Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:80)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:62)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:460)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:155)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at com.restful.resteasy.dao.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:17)
... 26 more
A camada de persistência funciona perfeitamente sem o uso de REST.
Alguém pode ajudar?
Agradeço antecipadamente!
|
serjaum.wordpress.com |
|
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 03/10/2008 17:37:34
|
RafaelJ
What is Servlet?
Membro desde: 07/03/2004 00:00:00
Mensagens: 155
Localização: Sao Bernardo
Offline
|
O problema tá na sua compreensão do conceito de REST.
Tenha sempre,eu disse "SEMPRE", em mente que REST é HTTP puro e simples.
Tendo dito isso, como você espera retornar um objeto Person no método 'findPerson'? Como você espera mapear o objeto Person no protocolo HTTP?
Retorne esse objeto em outro formato: XML, JSON, InputStream, etc.
This message was edited 1 time. Last update was at 03/10/2008 17:39:07
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 03/10/2008 19:56:09
|
serjaumfantin
What is Tomcat?
![[Avatar]](/forum/images/avatar/139ccdbf5a1b8401e93441d7f174ad00.png)
Membro desde: 29/06/2007 00:00:00
Mensagens: 84
Offline
|
Tomei como base este código, não atentando para este detalhe:
Fonte: http://wiki.jboss.org/wiki/JAXRSResourceLocators
|
serjaum.wordpress.com |
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 20/10/2008 13:41:38
|
RafaelJ
What is Servlet?
Membro desde: 07/03/2004 00:00:00
Mensagens: 155
Localização: Sao Bernardo
Offline
|
Só para esclarecer, a forma de retornar um objeto via serviço REST varia de framework para framework, pois não é definido isso na especificação da JSR 311.
Eu particularmente sempre evito fazer isso, dando preferência a retornar XML, JSON, InputStream, etc.
Rafael Nunes
This message was edited 1 time. Last update was at 20/10/2008 13:41:57
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 20/10/2008 14:53:22
|
fabiofalci
What is Frameworks?
![[Avatar]](/forum/images/avatar/a4786eb72c071a0368d390f555c42933.png)
Membro desde: 10/03/2005 00:00:00
Mensagens: 568
Localização: Porto Alegre - RS
Offline
|
Tu já testou a tua persistencia diretamente? Um teste unitário?
Olha a msg de erro na tua exception
Ou seja, não está configurado o dialeto do banco
|
http://fabiofalci.tumblr.com |
|
|
 |
|
|