You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by dpeinador <da...@yahoo.es> on 2009/11/01 11:46:26 UTC
Re: Axis2 And Hibernate
Hello,
I have just solved it. I have included the *.hbm.xml files in the
.\WEB-INF\classes directory of Axis2.
Thank you
thelime wrote:
>
> Hi,
>
> I had a similar issue recently while trying to configure and use
> iBatis with an Axis2 web service. I posted a similar thread but never
> got any responses. From what I understand it's not finding your
> hibernate configuration because of the way the classloading is
> happening inside the web service. If you add the following line to
> your services.xml file under the <service> node it should work:
>
> <parameter name="ServiceTCCL">composite</parameter>
>
> You can read about this at: http://wso2.org/blog/dims/1131
>
> Once I did that my iBatis config files could be loaded but then I lost
> the JNDI datasource that I had set up and I decided that I would
> rather have connection pooling from the Tomcat server than use iBatis.
> I wish there was a way to easily include .properties files and .xml
> files onto the classpath from inside the .aar automatically so it
> didn't just ignore them. Once you set that parameter see if you can
> use a datasource lookup.
>
> Good luck!
>
>
> On Thu, Oct 29, 2009 at 6:40 AM, dpeinador <da...@yahoo.es> wrote:
>>
>> Hello all,
>>
>> I continue trying to fix the mis configuration. I have isolated the Web
>> service, First I have create a dummy Echo Web service, and when this Web
>> service has been working. I hav added the hibernate classes.
>>
>> This is the Echo Class (Echo,java):
>>
>> package com.autentia.ws.servidor;
>>
>> import com.db.PoiManager;
>> import java.util.List;
>>
>> public class Echo {
>> public String hello(String nombre) {
>> PoiManager pm = new PoiManager();
>> List l = pm.listPois();
>> return "Hola " + nombre + ". Numero de POIs: " + l.size();
>> }
>> }
>>
>> And the Poi classes:
>>
>> PoiManager.java:
>>
>> package com.db;
>>
>> import java.util.List;
>> import org.hibernate.HibernateException;
>> import org.hibernate.SessionFactory;
>> import org.hibernate.Transaction;
>> import org.hibernate.cfg.Configuration;
>> import org.hibernate.classic.Session;
>>
>> public class PoiManager {
>> private SessionFactory sessionFactory;
>>
>> public PoiManager() {
>> try {
>> System.out.println("Inicalizando Hibernate");
>> sessionFactory = new
>> Configuration().configure().buildSessionFactory();
>> System.out.println("terminado la inicializacion de
>> Hibernate");
>> } catch (HibernateException e) {
>> e.printStackTrace();
>> }
>> }
>>
>> public List listPois() {
>> try {
>> Session session = sessionFactory.openSession();
>> Transaction tx = session.beginTransaction();
>> List result = session.find("from poi");
>> tx.commit();
>> session.close();
>> return result;
>> } catch (HibernateException e) {
>> throw new RuntimeException(e.getMessage());
>> }
>> }
>> }
>>
>> Poi.java:
>> public class Poi {
>> private Long idItem;
>> private String descripcion;
>>
>> public Long getIdItem() {
>> return idItem;
>> }
>> public void setIdItem(Long idItem) {
>> this.idItem = idItem;
>> }
>> public String getDescripcion() {
>> return descripcion;
>> }
>> public void setDescripcion(String descripcion) {
>> this.descripcion = descripcion;
>> }
>>
>> }
>>
>> This is my Poi.hbm.xml file:
>> <?xml version="1.0"?>
>> <!DOCTYPE hibernate-mapping PUBLIC
>> "-//hibernate/hibernate Mapping DTD 2.0//EN"
>> "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
>> <hibernate-mapping>
>> <class name="com.cb.Poi" table="poi">
>> <id name="id" column="IDITEM" type="long">
>> <generator class="identity"/>
>> </id>
>> <property name="descripcion" column="DESCRIPCION" type="string"/>
>> </class>
>> </hibernate-mapping>
>>
>> I have created also the hibernate.cfg.xml file and I have put it in the
>> WEB_INF/classes Axis directory:
>>
>> <?xml version='1.0' encoding='utf-8'?>
>> <!DOCTYPE hibernate-configuration
>> PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
>> "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
>> <hibernate-configuration>
>> <session-factory>
>> <property
>> name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
>> <property name="hibernate.connection.url">
>> jdbc:hsqldb://192.168.0.XX:3306/mydb?useUnicode=true&characterEncoding=UTF-8</property>
>> <property name="hibernate.connection.username">user</property>
>> <property name="hibernate.connection.password">password</property>
>> <property
>> name="dialect">org.hibernate.dialect.HSQLDialect</property>
>> <property name="show_sql">true</property>
>> <property
>> name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
>> <property
>> name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
>> <property name="hibernate.hbm2ddl.auto">update</property>
>> <mapping resource="com/db/data/Poi.hbm.xml"/>
>> </session-factory>
>> </hibernate-configuration>
>>
>> Whit this classes I build the .aar file, I upload it and create the
>> client
>> from the wsdl file. When I execute the client I receive this log:
>>
>> [INFO] Hibernate 3.1
>> [INFO] hibernate.properties not found
>> [INFO] using CGLIB reflection optimizer
>> [INFO] using JDK 1.4 java.sql.Timestamp handling
>> [INFO] configuring from resource: /hibernate.cfg.xml
>> [INFO] Configuration resource: /hibernate.cfg.xml
>> [INFO] Reading mappings from resource: com/db/data/Poi.hbm.xml
>> org.hibernate.MappingException: Resource: com/db/data/Poi.hbm.xml not
>> found
>> at
>> org.hibernate.cfg.Configuration.addResource(Configuration.java:478)
>> at
>> org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1443)
>> at
>> org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1411)
>> at
>> org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1392)
>> at
>> org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1368)
>> at
>> org.hibernate.cfg.Configuration.configure(Configuration.java:1288)
>> at
>> org.hibernate.cfg.Configuration.configure(Configuration.java:1274)
>> at com.db.PoiManager.<init>(PoiManager.java:16)
>> at com.autentia.ws.servidor.Echo.saludar(Echo.java:25)
>> 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:585)
>> at
>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
>> at
>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
>> at
>> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
>> at
>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
>> at
>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>> at
>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
>> at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>> at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>> at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>> at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>> at java.lang.Thread.run(Thread.java:595)
>> [ERROR] Exception occurred while trying to invoke service method saludar
>> java.lang.reflect.InvocationTargetException
>> 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:585)
>> at
>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
>> at
>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
>> at
>> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
>> at
>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
>> at
>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>> at
>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
>> at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>> at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>> at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>> at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>> at java.lang.Thread.run(Thread.java:595)
>> Caused by: java.lang.NullPointerException
>> at com.db.PoiManager.listPois(PoiManager.java:25)
>> at com.autentia.ws.servidor.Echo.saludar(Echo.java:26)
>> ... 27 more
>> [ERROR] Exception occurred while trying to invoke service method saludar
>> org.apache.axis2.AxisFault: Exception occurred while trying to invoke
>> service method saludar
>> at
>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:158)
>> at
>> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
>> at
>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
>> at
>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>> at
>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
>> at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>> at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>> at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>> at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>> at java.lang.Thread.run(Thread.java:595)
>> Caused by: java.lang.reflect.InvocationTargetException
>> 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:585)
>> at
>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
>> at
>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
>> ... 21 more
>> Caused by: java.lang.NullPointerException
>> at com.db.PoiManager.listPois(PoiManager.java:25)
>> at com.autentia.ws.servidor.Echo.saludar(Echo.java:26)
>> ... 27 more
>>
>> Can you advice me about to fix this issue? Are there any oter way to
>> access
>> to the database?
>> --
>> View this message in context:
>> http://www.nabble.com/Axis2-And-Hibernate-tp26080197p26111476.html
>> Sent from the Axis - User mailing list archive at Nabble.com.
>>
>
>
--
View this message in context: http://old.nabble.com/Axis2-And-Hibernate-tp26080197p26148879.html
Sent from the Axis - User mailing list archive at Nabble.com.