Excellent. All good now!

On Feb 19, 8:47 am, Isaac Truett <[email protected]> wrote:
> The service interface is implemented by a servlet. It is not
> exclusively a client side class.
>
> On Thu, Feb 19, 2009 at 8:33 AM, scarlson <[email protected]> wrote:
>
> > I caught this just a minute ago, I didn't realize there were compiled
> > class on the client side, I assumed all of that turned into
> > javascript?  Interesting.. So any client side RPC code gets compiled
> > into java class??
>
> > Thanks.
> > Scarlson
>
> > On Feb 18, 3:51 pm, Isaac Truett <[email protected]> wrote:
> >> > java.lang.ClassNotFoundException: com.i2s.webMonster.client.MsgService
>
> >> You didn't deploy this class.
>
> >> On Wed, Feb 18, 2009 at 3:08 PM, scarlson <[email protected]> wrote:
>
> >> >  Hello All -- I've been to the Tomcat forums already originally
> >> > thinking it was a servlet container issue. I don't think this is the
> >> > case anymore.
>
> >> > I have made a simple generic gwt rpc module..  When I run in hosted
> >> > mode, everything is great. When I deploy my WAR file, the client side
> >> > stuff works, but no servlet. Does anything jump out??  I've been
> >> > fighting this for a couple of days.. I keep coming back to the
> >> > conclusion that my container is configured wrong.
>
> >> > A bit more info about container.. I'm running Ubuntu 8.10 / Apache2 /
> >> > tomcat6 / mod-proxy
> >> > Apache and Tomcat appear fully functional.. I have also successfully
> >> > added a proxy to take me to port 8080 when calling my webapp. I've
> >> > posted similar data to TomCat forum, and judging from responses, I
> >> > have the container properly configured?
>
> >> > I've also tried re-arranging my WEB-INF/ structure...
> >> > It was original WEB-INF/classes/MsgServiceImpl.class
> >> > not it is WEB-INF/classes/com/i2s/webMonster/server/
> >> > MsgServiceImpl.class
>
> >> > I don't think I have a clue at this point...
>
> >> > Thanks in Advance, Attached below are my code/logs
>
> >> > -Scarlson
>
> >> > --- Tomcat localhost log file output ---------
> >> > SEVERE: Allocate exception for servlet MsgService
> >> > java.lang.ClassNotFoundException: com.i2s.webMonster.client.MsgService
> >> >        at org.apache.catalina.loader.WebappClassLoader.loadClass
> >> > (WebappClassLoader.java:1387)
> >> >        at org.apache.catalina.loader.WebappClassLoader.loadClass
> >> > (WebappClassLoader.java:1233)
> >> >        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> >> >        at java.lang.ClassLoader.defineClass1(Native Method)
> >> >        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
> >> >        at 
> >> > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
> >> > 124)
> >> >        at org.apache.catalina.loader.WebappClassLoader.findClassInternal
> >> > (WebappClassLoader.java:1847)
> >> >        at org.apache.catalina.loader.WebappClassLoader.findClass
> >> > (WebappClassLoader.java:890)
> >> >        at org.apache.catalina.loader.WebappClassLoader.loadClass
> >> > (WebappClassLoader.java:1354)
> >> >        at org.apache.catalina.loader.WebappClassLoader.loadClass
> >> > (WebappClassLoader.java:1233)
> >> >        at org.apache.catalina.core.StandardWrapper$1.run
> >> > (StandardWrapper.java:1077)
> >> >        at java.security.AccessController.doPrivileged(Native Method)
> >> >        at org.apache.catalina.core.StandardWrapper.loadServlet
> >> > (StandardWrapper.java:1073)
> >> >        at org.apache.catalina.core.StandardWrapper.allocate
> >> > (StandardWrapper.java:808)
> >> >        at org.apache.catalina.core.StandardWrapperValve.invoke
> >> > (StandardWrapperValve.java:129)
> >> >        at org.apache.catalina.core.StandardContextValve.invoke
> >> > (StandardContextValve.java:191)
> >> >        at org.apache.catalina.core.StandardHostValve.invoke
> >> > (StandardHostValve.java:128)
> >> >        at org.apache.catalina.valves.ErrorReportValve.invoke
> >> > (ErrorReportValve.java:102)
> >> >        at org.apache.catalina.core.StandardEngineValve.invoke
> >> > (StandardEngineValve.java:109)
> >> >        at org.apache.catalina.valves.AccessLogValve.invoke
> >> > (AccessLogValve.java:568)
> >> >        at org.apache.catalina.connector.CoyoteAdapter.service
> >> > (CoyoteAdapter.java:286)
> >> >        at org.apache.coyote.http11.Http11Processor.process
> >> > (Http11Processor.java:845)
> >> >        at org.apache.coyote.http11.Http11Protocol
> >> > $Http11ConnectionHandler.process(Http11Protocol.java:583)
> >> >        at 
> >> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
> >> > 447)
> >> >        at java.lang.Thread.run(Thread.java:619)
> >> > ---------------------snip
>
> >> > ----------- web.xml   -----------------
> >> > <?xml version="1.0" encoding="UTF-8"?>
> >> > <web-app>
>
> >> >  <!-- Standard Action Servlet Configuration -->
> >> >  <servlet>
> >> >   <servlet-name>MsgService</servlet-name>
> >> >   <servlet-class>com.i2s.webMonster.server.MsgServiceImpl</servlet-
> >> > class>
> >> >  </servlet>
>
> >> >  <!-- Standard Action Servlet Mapping -->
> >> >  <servlet-mapping>
> >> >   <servlet-name>MsgService</servlet-name>
> >> >   <url-pattern>/MsgService</url-pattern>
> >> >  </servlet-mapping>
>
> >> > </web-app>
> >> > ------------------------ snip --------------------
>
> >> > ----------- MsgService.java --------------------------
> >> > package com.i2s.webMonster.client;
>
> >> > import com.google.gwt.core.client.GWT;
> >> > import com.google.gwt.user.client.rpc.RemoteService;
> >> > import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
>
> >> > @RemoteServiceRelativePath("MsgService")
> >> > public interface MsgService extends RemoteService {
> >> >        /**
> >> >         * Utility class for simplifying access to the instance of async
> >> > service.
> >> >         */
> >> >        public String getMsg();
>
> >> >        public static class Util {
> >> >                private static MsgServiceAsync instance;
> >> >                public static MsgServiceAsync getInstance(){
> >> >                        if (instance == null) {
> >> >                                instance = GWT.create(MsgService.class);
> >> >                        }
> >> >                        return instance;
> >> >                }
> >> >        }
> >> > }
>
> >> > -------------------- snip
>
> >> > ----------- MsgServiceAsync.java --------------------------
> >> > package com.i2s.webMonster.client;
>
> >> > import com.google.gwt.user.client.rpc.AsyncCallback;
>
> >> > public interface MsgServiceAsync {
> >> >        /**
> >> >         * Utility class for simplifying access to the instance of async
> >> > service.
> >> >         */
> >> >        public void getMsg(AsyncCallback<String> callback);
> >> > }
>
> >> > ------------------ snip
>
> >> > ----------- MsgServiceImpl.java --------------------------
> >> > package com.i2s.webMonster.server;
>
> >> > import com.i2s.webMonster.client.MsgService;
>
> >> > public class MsgServiceImpl extends RemoteServiceServlet implements
> >> > MsgService {
>
> >> >       �...@override
> >> >        public String getMsg() {
>
> >> >                // TODO Auto-generated method stub
> >> >                return "Gotcha!";
> >> >        }
> >> > }
>
> >> > --------------snip
>
> >> > ----------- Here is what the call to the servlet looks like
> >> > private void getServerMsg() {
> >> >                MsgServiceAsync msgService = 
> >> > MsgService.Util.getInstance();
> >> >        ServiceDefTarget endpoint = (ServiceDefTarget)msgService;
> >> >        endpoint.setServiceEntryPoint(GWT.getModuleBaseURL() +
> >> > "MsgService");
>
> >> >        AsyncCallback callback = new AsyncCallback() {
> >> >                public void onSuccess(Object result) {
> >> >                        Window.alert((String) result);
> >> >                }
> >> >                 public void onFailure(Throwable caught) {
> >> >                    Window.alert("Server request falure.");
> >> >                }
> >> >            };
> >> >            msgService.getMsg(callback);
> >> >        }
> >> > ---------------- snip
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to