Hey Keith,

I am seeing a couple of things off here.

1. after I start Tomcat, I do not see "client" folder under the war
directory "<WAR>/WEB-INF/classes/com/foo/". I just see the "server"
folder there. Do you know how to get the client there? I have added
FooShared as a Java EE module dependency of FooServer. The -war
argument in the GWT launch config is set to <eclipse
workspace>/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/
wtpwebapps/FooServer.

2. Another thing I noticed is that the WEB-INF folder within FooServer
does not have any 'classes' folder within it. All it has is
   (i) lib folder
   (ii) web.xml

 As I said, I have added FooShared as a Java EE module dependency of
FooServer. Should we create a build.xml for FooServer (or some other
procedure) to copy all the client and shared classes manually into
WebContent/WEB-INF of FooServer?

Thanks,
Aishwarya

On Apr 2, 2:39 pm, Keith Platfoot <kplatf...@google.com> wrote:
> Hi aish,
>
> After you start Tomcat, see if the runtime WAR directory (the one specified
> with -war argument in your GWT launch configuration) has the
> GreetingService.class file under <WAR>/WEB-INF/classes/com/foo/client.  If
> it's not there, that would explain the ClassNotFoundException.  Then the
> only question is how to get it there.
>
> Your configuration as you described it sounds correct.  GreetingService
> should be copied into FooServer's WEB-INF/classes by means of it being
> declared an Java EE module dependency.  FooServer also needs gwt-servlet.jar
> as a module dependency, but if you were missing that you would get a
> different error.
>
> If you can't make any headway getting things to work, I could probably zip
> up my sample projects and you could try importing those.  Just let me know.
>
> Keith
>
> On Wed, Mar 31, 2010 at 2:55 PM, aish sundar <sunda...@gmail.com> wrote:
> > Thanks Keith. The steps seemed a lot clearer now and I followed it to
> > set uo my workspace exactly as yours. Now when I start the Tomcat
> > server, launch the client in DEV mode and go to
> >http://localhost:8080/TestWeb,
> > everything loads up fine and I get to the client HTML page alright.
> > However when I click a button, which is tied to an Asynchronous RPC
> > call, I get the following exception :
>
> > SEVERE: Allocate exception for servlet greetServlet
> > java.lang.ClassNotFoundException: com.foo.client.GreetingService
> >        at java.net.URLClassLoader$1.run(Unknown Source)
> >        at java.security.AccessController.doPrivileged(Native Method)
> >        at java.net.URLClassLoader.findClass(Unknown Source)
> >        at java.lang.ClassLoader.loadClass(Unknown Source)
> >        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> >        at java.lang.ClassLoader.loadClass(Unknown Source)
> >        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> >        at java.lang.ClassLoader.defineClass1(Native Method)
> >        at java.lang.ClassLoader.defineClass(Unknown Source)
> >        at java.security.SecureClassLoader.defineClass(Unknown Source)
> >        at java.net.URLClassLoader.defineClass(Unknown Source)
> >        at java.net.URLClassLoader.access$000(Unknown Source)
> >        at java.net.URLClassLoader$1.run(Unknown Source)
> >        at java.security.AccessController.doPrivileged(Native Method)
> >        at java.net.URLClassLoader.findClass(Unknown Source)
> >        at java.lang.ClassLoader.loadClass(Unknown Source)
> >        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> >        at java.lang.ClassLoader.loadClass(Unknown Source)
> >        at
>
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
> > 1275)
> >        at
>
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
> > 1206)
> >        at
> > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
> > 1083)
> >        at
> > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
> > 806)
> >        at
>
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> > 129)
> >        at
>
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> > 175)
> >        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.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> > 286)
> >        at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> > 844)
> >        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(Unknown Source)
>
> > The synchronous version of the GreetingService is in com.foo.client
> > package within the FooShared project(just as you have mentioned). I
> > have also added FooShared as a proj dependancy of FooClient and a
> > module dependency of FooServer.
>
> > NOTE: I did not do Step 15 in your instructions i.e., haven't really
> > created a WAR file for deployment yet. Its all running locally.
>
> > The error message is not very helpful as well, in terms of when and
> > where was the exception thrown. any idea what could have caused it.
>
> > Thanks,
> > aish
>
> > On Mar 30, 1:51 pm, Keith Platfoot <kplatf...@google.com> wrote:
> > > Hi aish,
>
> > > 1) Yes, FooServer would be your existing Dynamic Web project (TestWeb).
> > >  This project should include anything in the .server package of your GWT
> > app
> > > (e.g. GreetingServerImpl) as well as any existing server-side code.
>
> > > Your WAR directory (you'll have just one) will be the WebContent
> > directory
> > > of TestWeb.  Dynamic Web projects are configured to use the configuration
> > > and resource files (web.xml, HTML, CSS, JS, etc.) from this directory to
> > > build your WAR when debugging locally or creating a .war file for
> > > deployment.  BTW, the default name is "WebContent", but this can be
> > > customized during the New Dynamic Web project wizard.
>
> > > Your GWT code (in TestUI) will need to integrate into TestWeb's WAR
> > > directory when you run/debug locally and when you build a .war file.  For
> > > running locally, you just need to tell GWT DevMode to run within the
> > context
> > > of TestWeb's staging WAR directory (see steps 11 and 12 in my checklist).
> > >  You don't need to copy any files manually, because GWT will pick up all
> > the
> > > .java and .gwt.xml source files it needs directly from the launch
> > classpath.
> > >  So there really is no explicit link to TestWeb from TestUI.  The only
> > link
> > > from TestWeb back to TestUI is that your HTML host page in TestWeb's
> > > WebContent directory will need to reference your GWT module's bootstrap
> > > script (the TestUI.nocache.js file, which GWT will automatically insert
> > into
> > > your staging WAR directory when you launch dev mode).
>
> > > Creating a .war for deployment, on the other hand, does require moving
> > > compiled GWT output into TestWeb's WebContent directory.  Select the
> > TestUI
> > > project and click the GWT Compile button on the toolbar.  Expand the
> > > Advanced section at the bottom and put "-war
> > > /absolute/path/to/TestWeb/WebContent".  When you click Compile, the
> > > artifacts will be written to that location.  Because of a minor bug (to
> > be
> > > fixed in GPE 1.4), though, you'll need to refresh your TestWeb project to
> > > see the compiled output under WebContent.  Now, you can go through the
> > WAR
> > > export wizard (File > Export > Web > WAR file) to create a deployment
> > .war
> > > file for TestWeb.
>
> > > 2) TestUI should contain all your GWT module files.  It should also
> > contain
> > > all GWT code, except for code that is shared between the client and
> > server
> > > (in my setup, I placed these classes in FooShared).
>
> > > 3) Attached is a screenshot of my workspace, showing all 3 projects
> > > described in my checklist.
>
> > > Hopefully this gets you up and running.  Let me know if you have any
> > other
> > > questions!
>
> > > Keith
>
> > > On Mon, Mar 29, 2010 at 4:49 PM, aish sundar <sunda...@gmail.com> wrote:
> > > > Hi Keith,
>
> > > > Thanks a lot for the detailed steps. We are in the process of
> > > > integrating the projects. However we have some doubts in the process.
>
> > > > 1) FooServer -(i) I am assuming this can be the pre-existing Dynamic
> > > > Web project, which we want to integrate with the GWT project. So from
> > > > my example, this will be TestWeb, right?
> > > >                    (ii) You wrote "FooServer will contain your server-
> > > > side code and WAR directory + static resources (HTML, CSS, etc.), " .
> > > >                                    (a) Does "server-side code" mean
> > > > the code within the server package of my GWT project i.e.,
> > > > GreetingServiceImpl.java? I am assuming FooServer will also have the
> > > > code associated with my pre-existing web project as well.
> > > >                                    (b) How and from where do I get
> > > > the "WAR directory"? Is this the WAR folder generated in my GWT
> > > > project? Should I just simply copy the WAR folder from the GWT project
> > > > over to my FooServer or is there any other way to generate it?
>
> > > > 2) Which project should the "TestUI.gwt.xml" file, the one that
> > > > defines the modules and entry point go?
>
> > > > 3) It will be great if you can include a SCREENSHOT of your expanded
> > > > WORKSPACE so that we can clearly see the layout of the various
> > > > projects and which component goes where.
>
> > > > Here's an overview of what we have done following your instructions.
> > > > let us know if anything looks wrong.
>
> > > > I initially had 2 projects FooServer (web project) and a TestUI (GWT
> > > > project).
>
> > > > (1) FooServer (Dynamic Web project, which contains the server side
> > > > code of the GWT proj)
> > > >     > src
> > > >             >> TestUI.gwt.xml ( don't know if this should go here)
> > > >             >> com.server (newly added GWT server code)
> > > >                                 >>>GreetingServiceImpl
>
> > > >     > war (copied from TestUI)
> > > >             >> testui (which has the generated js etc)
> > > >             >> WEB-INF
> > > >                        >>> classes
> > > >                        >>> lib
> > > >                        >>>web.xml
> > > >             >> TestUI.css
> > > >             >> TestUI.html
>
> > > >     > WebContent
> > > >             >> appPages
> > > >             >> META-INF
> > > >             >> WEB-INF
> > > >                         >>>lib
> > > >                         >>> web.xml
>
> > > >     > TestUI.html and TestUI.css (static HTML pages and CSS)
>
> > > > (2) FooClient (to contain the client side code of the GWT proj)
>
> > > >      > src
> > > >             >> com.client
> > > >                               >>>TestUI.java
>
> ...
>
> read more »

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