Hi Thierry, First, I'm new to GWT and Restlet, so apologies if my questions are not relevant. I already read about the on-line documentation (especially pointers you gave me) but I still can't solve my issues.
I have an already running REST service at http://localhost:8888/components. I want to access it with GWT2 with the help of restlet. So, I wrote a simple GWT app (MyApp, see below) to retrieve data from this service. My GWT app is run with GAE at http://localhost:8890/. I'm able to configure this GWT project by adding restlet jars in WEB-INF/lib but I still have some issues/questions. 1/ By using the Myapp class listed below, I cannot see any message on the web page. In another way, if the same code is launched by a clickHandler defined on a button, I can see the trace (text variable). So, can't we do calls to rest services at the application loading? 2/ By using the version with a button and aclick handler, JsonRepresentation is an empty array and JSONObject object is null. I got no error messages saying that the request cannot be proceed, so I don't understand what is happening. 3/ The redirector seems to work, if I visit http://localhost:8890/components I got the response formated in json. If I use a router, it doesn't work. But perhaps I'm not using redirector in the right way. By reading the documentation, I don't understand which Redirector mode to use? Do I need to use a router? My first need is to redirect all calls to http://localhost:8890/components to http://localhost:8888/components. My future need will be to redirect http://localhost:8890/<host>/components to http://<host>:8888/components 4/ My last question is about resources. the Rest Service send me back resources marshalled in json. I would like to have my json automatically unmarshalled in a resource object. I saw http://www.restlet.org/documentation/2.0/tutorial#part12. Is it the way to do that? It seems to be for the server part. What for the client part? Thank you very much for your patience and your availability. It's really handsome. Regards, Christophe. --------------------- public class Myapp implements EntryPoint { public void onModuleLoad() { ClientResource r = new ClientResource("http://localhost:8890/components"); // Set the callback object invoked when the response is received. r.setOnReceived(new Uniform() { public void handle(Request request, Response response) { String text; // Get the representation as an JsonRepresentation JsonRepresentation rep = new JsonRepresentation( response.getEntity() ); text += "JsonRepresentation = " + rep.toString(); // Displays the properties and values. try { JSONObject object = rep.getValue().isObject(); text += "JSONObject = " + object; if (object != null) { for (String key : object.keySet()) { RootPanel.get("callButtonContainer").add( new HTML(key + ":" + object.get(key)) ); } } } catch (IOException e) { e.printStackTrace(); } RootPanel.get("defaultContainer").add( new HTML(text) ); } }); } } public class MyRedirector extends Application { @Override public synchronized Restlet createInboundRoot() { // Create a root router Router router = new Router(getContext()); // Create a Redirector to Google search service String target = "http://localhost:8888{rr}"; Redirector redirector = new Redirector(getContext(), target, Redirector.MODE_CLIENT_TEMPORARY); // Attach the extractor to the router // router.attach("/redirectme/", redirector); // return router; return redirector; } } <web-app> <servlet> <servlet-name>adapter</servlet-name> <servlet-class>org.restlet.ext.gwt.GwtShellServletWrapper</servlet-class> <init-param> <param-name>org.restlet.application</param-name> <param-value>org.myorg.server.MyRedirector</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>adapter</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2435155

