There is an issue in the tracker for this bug, http://code.google.com/p/google-web-toolkit/issues/detail?id=4267. Please go and stat that issue and leave a comment, so it get's some attention. There is also an issue in the Restlet issue tracker that contains a small example that shows the bug at, http://restlet.tigris.org/issues/show_bug.cgi?id=1149.
On Jul 8, 9:06 pm, davewilliamson <[email protected]> wrote: > Interestingly, > > I have 'just' come across the same problem in the middle of > development! > > Using Elipse's neat trick of setting SDK versions, I have found that > this problem exists since V2.0, whereas the older SDK 1.7.1 works fine > = a very poor but quick work around, that is FAR from ideal!!! > > Come on Google, give us a fix! > > Cheers > > Dave > > On Jul 8, 8:51 pm, emurmur <[email protected]> wrote: > > > > > I've traced through theRestlet2.0rc4 code for both the success case > > (no GWT) and the failure case (gwt-dev.jar in on classpath). The > > issue is how DomRepresentation.createTransformer() creates the > > necessary javax.xml.transform.TransformerFactory instance. > > > In the success case, we end up in FractoryFinder.findJarService() at > > the line 255, > > > is = ss.getResourceAsStream(cl, serviceId); > > > and the result is null. Therefore, the code returns and uses the > > fallback class > > ("com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"), > > which works. > > > In the failure case (when gwt-dev.jar in on the classpath), line 255 > > DOES return a class, the code that immediately follows is then able to > > read the factoryClassName from the class, which ends up being, > > "org.apache.xalan.processor.TransformerFactoryImpl". Later, the > > attempt to instantiate this class fails with a ClassNotFoundException. > > > So it seems that the gwt-dev.jar file contains some configuration that > > tricksRestletinto attempting to instantiate the wrong > > TransformerFactory implementation. > > > How would I go about makingRestletignore this Jar. Note that this > > is only an issue in the development environment, because gwt-dev.jar > > is not copied to the production server. However, it's still a show > > stopper bug for me, because I can't debug my client application with > > my rest services. > > > Does anyone on the GWT team know that this may be about? Any help > > would be welcome. I will pass it on to theRestletteam. Thanks. > > > On Jul 7, 10:01 am, emurmur <[email protected]> wrote: > > > > I have an Java App Engine project using SDK 1.3.5 and the latest > > >RestletGAE 2.0rc4 to implement some restful services. Everything > > > worked well (this has been in production for 6 months) until I added > > > GWT 2.0.4 to the project. As soon as I check use GWT on in the > > > control panel in Eclipse (without even adding a module) my services > > > start to fail in the development server with the following class not > > > found exception: > > > >Couldn'twritetheXMLrepresentation:Provider > > >org.apache.xalan.processor.TransformerFactoryImpl not found > > > > This exception happens on the way out of myRestlet, after a GET of a > > > lists of entities, as it tries to turn my DomRepresentation into the > > > response payload. I've found that if I remove the gwt-dev.jar, the > > > exception does not happen. Of course, I can't use the development > > > server if I do that. Again, this all works fine without GWT. > > > > Here is the relevant parts of the trace: > > > > SEVERE: An exception occured writing the response entity > > > java.io.IOException:Couldn'twritetheXMLrepresentation:Provider > > >org.apache.xalan.processor.TransformerFactoryImpl not found > > > at > > > org.restlet.ext.xml.DomRepresentation.write(DomRepresentation.java: > > > 287) > > > at > > > org.restlet.representation.WriterRepresentation.write(WriterRepresentation. > > > java: > > > 104) > > > at > > > org.restlet.engine.http.ServerCall.writeResponseBody(ServerCall.java: > > > 502) > > > at > > > org.restlet.engine.http.ServerCall.sendResponse(ServerCall.java: > > > 439) > > > at > > > org.restlet.ext.servlet.internal.ServletCall.sendResponse(ServletCall.java: > > > 451) > > > at > > > org.restlet.engine.http.adapter.ServerAdapter.commit(ServerAdapter.java: > > > 198) > > > at > > > org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java: > > > 151) > > > at > > > org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1037) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > > > at > > > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) > > > at > > > org.mortbay.jetty.servlet.ServletHandler > > > $CachedChain.doFilter(ServletHandler.jav > > > a:1166) > > > at > > > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi > > > lter. > > > java:51) > > > at > > > org.mortbay.jetty.servlet.ServletHandler > > > $CachedChain.doFilter(ServletHandler.jav > > > a:1157) > > > at > > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans > > > actio > > > nCleanupFilter.java:43) > > > at > > > org.mortbay.jetty.servlet.ServletHandler > > > $CachedChain.doFilter(ServletHandler.jav > > > a:1157) > > > at > > > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile > > > Filte > > > r.java:122) > > > at > > > org.mortbay.jetty.servlet.ServletHandler > > > $CachedChain.doFilter(ServletHandler.jav > > > a: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.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEn > > > gineW > > > ebAppContext.java:70) > > > at > > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > > > 152) > > > at > > > com.google.appengine.tools.development.JettyContainerService > > > $ApiProxyHandler.han > > > dle(JettyContainerService.java:349) > > > at > > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > > > 152) > > > at org.mortbay.jetty.Server.handle(Server.java:326) -- 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.
