Axis2 com Hibernate

6 respostas
divorak

Olá para todos,

Vou direto ao ponto, estou criando um Web Service com AXIS2, instalado corretamente, estou tentando utilizar o Hibernate, segue as propriedades:

hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://www…
hibernate.connection.username = xxx
hibernate.connection.password = xxx
hibernate.show_sql = true
hibernate.format_sql = true

O problema ocorre nesta linha:

SessionFactory factory = cfg.buildSessionFactory();

Segue o erro:
soapenv:Reason<soapenv:Text xml:lang=“en-US”>‘hibernate.dialect’ must be set when no Connection avalable</soapenv:Text></soapenv:Reason>

Como podem ver o hibernate.dialect já foi declarado e mesmo assim não reconhece, eu cheguei a ver um post que diz que não dá para fazer o SessionFactory desta forma mas não explicou como, dai não sei se o problema é a propriedade que pode não esta sendo reconhecida ou se a forma de conectar com o hibernate tem alguma firula, eu estou partindo para o JBoss com RestEasy: http://www.jboss.org/resteasy

Mas queria ver uma solução para isso caso necessite do AXIS2 em algum sistema legado, até mesmo por conhecimento meu e da comunidade.

Agradeço a todos pela atenção.

Att. Divorak

6 Respostas

Hebert_Coelho

Cara, eu tinha esse erro quando, por exemplo, algum erro acontecia no deploy.

Veja o log completo de sua aplicação na hora do start.

divorak

Pessoal segue o log:

2011-11-23 16:09:22 Commons Daemon procrun stdout initialized
[INFO] Clustering has been disabled
[INFO] Deploying module: addressing-1.6.1 - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/modules/addressing-1.6.1.mar
[INFO] Deploying module: jaxws-1.6.1 - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/modules/axis2-jaxws-mar-1.6.1.mar
[INFO] Deploying module: metadataExchange-1.6.1 - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/modules/mex-1.6.1.mar
[INFO] Deploying module: mtompolicy-1.6.1 - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/modules/mtompolicy-1.6.1.mar
[INFO] Deploying module: ping-1.6.1 - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/modules/ping-1.6.1.mar
[INFO] Deploying module: script-1.6.1 - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/modules/scripting-1.6.1.mar
[INFO] Deploying module: soapmonitor-1.6.1 - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/modules/soapmonitor-1.6.1.mar
[INFO] Deploying Web service: version-1.6.1.aar - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/services/version-1.6.1.aar
[INFO] Deploying Web service: WebService.aar - file:/C:/Arquivos de programas/Apache Software Foundation/Tomcat 7.0/webapps/axis2/WEB-INF/services/WebService.aar

  • Unable to find config file. Creating new servlet engine config file: /WEB-INF/server-config.wsdd
  • Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
    [INFO] Hibernate Annotations 3.4.0.GA
    [INFO] Hibernate 3.3.2.GA
    [INFO] hibernate.properties not found
    [INFO] Bytecode provider name : javassist
    [INFO] using JDK 1.4 java.sql.Timestamp handling
    [INFO] Hibernate Commons Annotations 3.1.0.GA
    [INFO] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
    [INFO] Binding entity from annotated class: com.modelo.Cliente
    [INFO] Bind entity com.modelo.Cliente on table Cliente
    [INFO] Hibernate Validator not found: ignoring
    [WARN] No connection properties specified - the user must supply JDBC connections
    [ERROR] ‘hibernate.dialect’ must be set when no Connection avalable
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
    at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
    at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
    at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
    at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)
    at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837)
    at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: org.hibernate.HibernateException: ‘hibernate.dialect’ must be set when no Connection avalable
    at org.hibernate.dialect.resolver.DialectFactory.buildDialect(DialectFactory.java:107)
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:138)
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
    at com.action.SincControleAction.iniciar(SincControleAction.java:39)
    … 31 more

============
Parece que ele não consegue ver as propriedades quando vai para o axis, mas testei a conexão em um outro projeto e funciona direitinho, conectando corretamente.

Att.,
Divorak

Hebert_Coelho
divorak

jakefrog foi a primeira coisa que eu atentei no log, (No connection properties specified - the user must supply JDBC connections),
muito provavelmente o AXIS não está conseguindo ler as propriedades do Hibernate,
eu li esse post: http://www.guj.com.br/java/137871-erro-hibernatedialect
que diz que pode jogar as configurações direto no diretório do JDK em:
C:\Arquivos de programas\Java\jdk1.6.0_14\jre\lib\ext\data,
porém eu uso o Java 7 e o caminho não bate.

Att.,
Divorak

Hebert_Coelho

Uma solução seria utilizar o Java 6 só para ver se é isso mesmo.

Se for, aí vc procura uma saída para java 7. Q tal?

divorak

Eu tentei fazer com o Java 6 porém não entendi muito bem o que tem que fazer, se é jogar o XML das configurações lá na pasta especificada ou se deve criar um arquivo ou pasta chamada data, eu vou fazer mais alguns testes para ver se soluciono e postar aqui o resultado.

Criado 23 de novembro de 2011
Ultima resposta 24 de nov. de 2011
Respostas 6
Participantes 2