Hello Steve,

>A GWT application, running in hosted mode (for the moment) using Restlet to
replace the default server communication RPC with an XML transport
mechanism.
In the case of the GWT client, using XML transport needs a little bit more
task for the developer. You can have a look at this page of the user guide:
http://wiki.restlet.org/docs_2.0/13-restlet/191-restlet.html
Using annotated interfaces as proxies will only work with GWT-RPC serialized
representations.
As a side remark, your remote resources can still exposed their
representation in several formats:
 - "GWP-RPC" using the GWT *extension* (not edition)
 - XML using the XStream extension,
 - JSON using the XStream or Jackson extension,
 - etc
By "using the extension", I mean put the right libraries on the classpath of
your server side project.

>It doesn't help that the example code downloaded from the 2.1 wiki still
contains 2.0snapshot jar files!
Sorry. I wonder, if we will still provide the jars inside the sample code.

>It still makes reference to GWTServletWrapper, which no longer exists in
the 2.1 codebase!  Very confusing.
Yes, thanks for pointing this. I will take care of it this week.

>The jar files are a bit confusing as well, the GWT download contains only
3, I've had to take other jar files from the JEE download in order to get
this working at all...
I recognise this is a littlle bit tricky. I hope I will give you enough
explanations.
The GWT edition is a port of the client side of the Restlet, and the client
side only, because we are talking about Web browsers that can't host HTTP
servers. :)
So, you are at least required to use the core module of the GWT *edition*,
only, and only for building your GWT pages.

On the server side, there are several ways to answer to the questions.
Once your GWT pages are compiled into static files, they can be served by
any Web server, therefore you can use any suitable editions that contain
HTTP server connectors:
 - the JSE one for simple JVM without servlet container.
 - the JEE one, if you intend to use a servlet container.
 - the GAE one, if you want to deploy your application inside GAE
In this case, please note the the jar of the GWT *edition* is no more
required.

When developing, the GWT plugin is tied to Jetty, thus you must use the JEE
edition.

Personnally, I put the server libraries inside the "/WEB-INF/lib" directory
as usual, and the client ones (for example, the core module "org.restlet.jar
" of the GWT edition) inside a "lib" directory right under the root
directory of my Eclipse project.

>Now I have NoClassDefFoundError sun.reflect.ReflectionFactory is a
restricted class. Please see the GOogle App Engine Developers guide for more
details.
Unfortunately, the Xstream library is not supported inside GAE, this is not
Restlet's fault.

I think you can still use the GWT-RPC based mechanism, which is the simpler
way that only requires :
 - the core module of the GWT *edition*
 - the GWT extension, on server side.

If you have still a little time, I will update the sample code pages on
wednesday.

Best regards,
Thierry Boileau

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2710080

Reply via email to