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&amp;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.