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 <dampe2...@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. >