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 the Restlet 2.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
> tricks Restlet into attempting to instantiate the wrong
> TransformerFactory implementation.
>
> How would I go about making Restlet ignore 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 the Restlet team.  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
> > Restlet GAE 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 my Restlet, 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