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