Hello,
      Actually I have developed an Application integrating "GWT+Spring
+Hibernate" in the Hosted mode , with the help of the below given
links by you -
 Part One :http://eggsylife.blogspot.com/2007/10/well-this-tutorial-
aims-at-helping.html
Part Two: 
http://eggsylife.blogspot.com/2007/11/hibernate-spring-google-web-toolkit.html
Part Three: 
http://eggsylife.blogspot.com/2008/02/hibernate-spring-google-web-toolkit.html
Now I am getting many warnings in this application, but the warning I
am unable to solve is :

[WARN]StandardContext[]Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method
'public abstract java.util.List
com.company.client.rpc.TeacherService.getPupils(java.lang.Integer)'
threw an unexpected exception: java.lang.NoClassDefFoundError: org/
springframework/context/ApplicationContext
        at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure
(RPC.java:360)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:546)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:164)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:86)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at com.google.gwt.dev.shell.GWTShellServlet.service
(GWTShellServlet.java:289)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
160)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/
ApplicationContext
        at com.company.server.gwt.TeacherServiceImpl.getPupils
(TeacherServiceImpl.java:28)
        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 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:527)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:164)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:86)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at com.google.gwt.dev.shell.GWTShellServlet.service
(GWTShellServlet.java:289)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
160)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
        at java.lang.Thread.run(Unknown Source)

I am sending you the Structure of few of the classes due to  which I
feel I got the warning, those are :

1) applicationContext.xml -
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
 xmlns:aop="http://www.springframework.org/schema/aop";
xmlns:tx="http://www.springframework.org/schema/tx";
 xsi:schemaLocation=" http://www.springframework.org/schema/beans
classpath:spring-beans-2.0.xsd http://www.springframework.org/schema/tx
classpath:spring-tx-2.0.xsd http://www.springframework.org/schema/aop
classpath:spring-aop-2.0.xsd">
 <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
   <property name="driverClassName">
       <value>org.hsqldb.jdbcDriver</value>
   </property>
   <property name="url">
      <value>>jdbc:hsqldb:hsql://localhost/testdatabase</value>
   </property>

  <property name="username">
        <value>root</value>
  </property>
  <property name="password">
     <value>root</value>
   </property>
   <property name="initialSize">
       <value>2</value>
   </property>
   <property name="maxActive">
            <value>5</value>
   </property>
   <property name="maxIdle">
      <value>2</value>
   </property>
  </bean>
   <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
     <ref bean="dataSource"/>
    </property>
   <property name="configLocation">
    <value>hibernate.cfg.xml</value>
    </property>
     <property  name="configurationClass">
         <value>org.hibernate.cfg.AnnotationConfiguration</value>
     </property>
     <property name="hibernateProperties">
       <props>
          <prop
key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
             <prop key="show_sql">true</prop>
          </props>
     </property>
    </bean>
    <bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
     <property name="sessionFactory" ref="sessionFactory" />
      </bean>
      <!-- enable the configuration of transactional behavior based on
annotations -->
      <tx:annotation-driven transaction-manager="txManager" proxy-
target-class="false" />

          <bean id="pupilCollection"
class="com.company.server.domain.PupilCollectionImpl"
scope="prototype">  <property name="sessionFactory"><ref
bean="sessionFactory"/></property> </bean>
     </beans>

2) MyApplication.java -

package com.company.client;
import java.util.Iterator;
import com.company.client.dto.PupilDTO;
import com.company.client.model.Observer;
import com.company.client.model.Subject;
import com.company.client.model.TeacherModel;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
public class MyApplication implements EntryPoint, Observer

{

         private TeacherModel model = null;
         private VerticalPanel display = null;
         private VerticalPanel resultsPanel = null;
         /**  * This is the entry point method.  */
                 public void onModuleLoad()
                 {
                 model = new TeacherModel();
                 display = new VerticalPanel();
                 model.addObserver(this);
                 HorizontalPanel searchPanel = new HorizontalPanel();
                 final TextBox teacherIdBox= new TextBox();
                 final Button button = new Button("Search");
                 GWT.log("button added",null);
                                  button.addClickListener(new
ClickListener()
                         {
                         public void onClick(Widget sender)
                         {
                         resultsPanel.add(new HTML("Searching...."));
                            GWT.log("addClickListener call",null);
                                System.out.println("addClickListener 
call1_"+teacherIdBox.getText
());
                                    GWT.log("addClickListener 
call"+teacherIdBox.getText(),null);
                         model.getPupils(new Integer(teacherIdBox.getText()));
                           GWT.log("after model.getPupils ",null);
                         }     });
                         searchPanel.add(teacherIdBox);
                         searchPanel.add(button);
                         resultsPanel = new VerticalPanel();
                         display.add(searchPanel);
                         display.add(resultsPanel);
                           GWT.log("database",null);
                         RootPanel.get("database").add(display);
                          GWT.log("database",null);
                         }
                         public void update(Subject o) {
                                 if ( model.getPupils() != null && 
model.getPupils().size() > 0)
{
                                           GWT.log("database",null);
                                         resultsPanel.clear();
                                         for( Iterator<?> it = 
model.getPupils().iterator(); it.hasNext
();)   {
                                                 PupilDTO dto = 
(PupilDTO)it.next();
                                                   GWT.log("database",null);
                                                 resultsPanel.add(new 
HTML(dto.getName()));
                                                 }  }
                                                 }

        }


3) ContextUtil.java -
package com.company.spring;
import org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
public class ContextUtil{
        private static ApplicationContext context = null;
        private ContextUtil(  ) {
                super();
        }
public static ApplicationContext getContext( )  {
        // Load up our Application context
        if (context == null)   {
                context = new ClassPathXmlApplicationContext
("applicationContext.xml") ;
                }
                return context;
                }
        }

4) TeacherService.java -
package com.company.client.rpc;
import java.util.List;
import com.google.gwt.user.client.rpc.RemoteService;
public interface TeacherService extends RemoteService{
        /**
         * * @gwt.typeArgs <com.company.client.dto.PupilDTO>
         * */
        public List<?> getPupils(Integer teacherId);
        }

5) TeacherServiceAsync.java -
package com.company.client.rpc;
import com.google.gwt.user.client.rpc.AsyncCallback;
public interface TeacherServiceAsync{

        public void getPupils(Integer teacherId, AsyncCallback<?> callback);
        }

6) TeacherServiceImpl.java -
package com.company.server.gwt;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.springframework.beans.BeanUtils;
// import com.google.gwt.user.client.rpc.SerializationException;
import com.company.client.rpc.TeacherService;
import com.company.client.dto.PupilDTO;
import com.company.server.domain.PupilCollection;
import com.company.server.persistent.Pupil;
import com.company.spring.ContextUtil;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
public class TeacherServiceImpl extends RemoteServiceServlet
implements TeacherService{

        /**
         *
         */
        private static final long serialVersionUID = 1L;

        public List<PupilDTO> getPupils(Integer teacherId)
        {

                        System.out.println(" getPupils method of 
TeacherServiceImpl ");
                List<PupilDTO> results = null;
                try
                {
                        PupilCollection<?> collection = (PupilCollection<?>)
ContextUtil.getContext().getBean("pupilCollection");
                        collection.getPupils(teacherId);

                        results = new ArrayList<PupilDTO>();

                        for ( Iterator<?> it = collection.getList().iterator(); 
it.hasNext
(); )
                        {
                                Pupil pupil = (Pupil) it.next();
                                PupilDTO dto = new PupilDTO();

                                BeanUtils.copyProperties(dto, pupil);
                                System.out.println(" dto : "+dto);
                                results.add(dto);
                        }
                }
                catch(Exception e)
                {

                        System.out.println(" catch  method of 
TeacherServiceImpl ");
                        e.printStackTrace();
                        throw new RuntimeException(e);
                }

                return results;
        }
        }

Please help me in solving this problem.

Thanks,
Poonam.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to