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.

Reply via email to