I believe you've posted to the wrong list. This one is about everything around hosting projects on Google Code hosting, not any particular APIs that Google might expose, or some arbitrary project you found on Google Code.
Good luck in your endeavors. On Wed, Jul 25, 2012 at 10:52 AM, <[email protected]> wrote: > Hi guys. > > I am just starting to get a feel about Google Code and GWT. > > So my first thing to do was to download the Google Plugin for Eclipse and > create a new Project. > > The project comes with an example, the greeting example. So i deployed > that to App Engine and it worked great. > > Now I want to put some functionality in the example. So via eclipse, i > d/led the Contacts API and automatically the jars were placed in the > classpath and lib directory. > > So in the server side, in GreetingServiceImpl.java I added the following > line > > ContactsService service = new ContactsServic("Contacts"); > > > > So the file looks like this: > > > package com.gnt.server; >> >> import com.gnt.client.GreetingService; >> import com.gnt.shared.FieldVerifier; >> import com.google.gdata.client.contacts.ContactsService; >> import com.google.gwt.user.server.rpc.RemoteServiceServlet; >> >> /** >> * The server side implementation of the RPC service. >> */ >> @SuppressWarnings("serial") >> public class GreetingServiceImpl extends RemoteServiceServlet implements >> GreetingService { >> >> public String greetServer(String input) throws >> IllegalArgumentException { >> // Verify that the input is valid. >> if (!FieldVerifier.isValidName(input)) { >> // If the input is not valid, throw an >> IllegalArgumentException back to >> // the client. >> throw new IllegalArgumentException( >> "Name must be at least 4 characters long"); >> } >> >> String serverInfo = getServletContext().getServerInfo(); >> String userAgent = >> getThreadLocalRequest().getHeader("User-Agent"); >> >> // Escape data from the client to avoid cross-site script >> vulnerabilities. >> input = escapeHtml(input); >> userAgent = escapeHtml(userAgent); >> ContactsService contactsService = new ContactsService("Contacts"); >> return "Hello, " + input + "!<br><br>I am running " + serverInfo >> + ".<br><br>It looks like you are using:<br>" + userAgent; >> } >> >> /** >> * Escape an html string. Escaping data received from the client >> helps to >> * prevent cross-site script vulnerabilities. >> * >> * @param html the html string to escape >> * @return the escaped string >> */ >> private String escapeHtml(String html) { >> if (html == null) { >> return null; >> } >> return html.replaceAll("&", "&").replaceAll("<", "<") >> .replaceAll(">", ">"); >> } >> } >> >> > Now, the Remote Procedure Call fails and in the logs i only see > > javax.servlet.ServletContext log: Exception while dispatching incoming RPC > call >> com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public >> abstract java.lang.String >> com.gnt.client.GreetingService.greetServer(java.lang.String) throws >> java.lang.IllegalArgumentException' threw an unexpected exception: >> java.lang.NoClassDefFoundError: com/google/gdata/client/GoogleService >> at >> com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385) >> at >> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588) >> at >> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) >> at >> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) >> at >> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> at >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) >> at >> com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:102) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >> at >> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >> at >> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >> at >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) >> at >> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> at >> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >> at >> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) >> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) >> at >> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:249) >> at >> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >> at org.mortbay.jetty.Server.handle(Server.java:326) >> at >> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >> at >> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) >> at >> com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >> at >> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135) >> at >> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:477) >> at >> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) >> at >> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) >> at com.google.tracing.TraceContext.runInContext(TraceContext.java:695) >> at >> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) >> at >> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) >> at >> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) >> at >> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) >> at java.lang.Thread.run(Thread.java:679) >> Caused by: java.lang.NoClassDefFoundError: >> com/google/gdata/client/GoogleService >> at >> com.google.appengine.runtime.Request.process-ff033622b2cd8d3f(Request.java) >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:634) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) >> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:616) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:266) >> at >> com.gnt.server.GreetingServiceImpl.greetServer(GreetingServiceImpl.java:32) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:43) >> at >> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569) >> at >> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) >> at >> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) >> at >> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> at >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >> at >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) >> at >> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> at >> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >> at >> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) >> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) >> at >> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >> at org.mortbay.jetty.Server.handle(Server.java:326) >> at >> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >> at >> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >> at >> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) >> at >> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) >> at com.google.tracing.TraceContext.runInContext(TraceContext.java:695) >> at >> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) >> at >> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) >> at >> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) >> ... 1 more >> Caused by: java.lang.ClassNotFoundException: >> com.google.gdata.client.GoogleService >> at >> com.google.appengine.runtime.Request.process-ff033622b2cd8d3f(Request.java) >> ... 34 more >> >> > > > Can someone pls explain to me why this happens? All the necessary jars are > in the classpath as well as in the lib directory... > > Why am i Getting this? > > Caused by: java.lang.NoClassDefFoundError: > com/google/gdata/client/GoogleService > > > > Is there another way to get Contacts? > > Thank you and sorry for the big post! > > > -- > You received this message because you are subscribed to the Google Groups > "Project Hosting on Google Code" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/google-code-hosting/-/dYXkMp4d364J. > 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-code-hosting?hl=en. > -- You received this message because you are subscribed to the Google Groups "Project Hosting on Google Code" 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-code-hosting?hl=en.

