使用GWT客户端调用Restlet Web服务的问题

时间:2011-02-18 12:49:08

标签: gwt restlet

我正在使用Restlet框架,我想使用GWT作为客户端。我已经在Restlet中创建了一些ServerResources。以下是GWT客户端的代码:

BookResourceProxy.java

公共接口BookResourceProxy扩展了ClientProxy {   @得到   public void getBooks(结果回调); }

使用此代理的类:

BookResourceProxy wrp = GWT.create(BookResourceProxy.class);

wrp.getClientResource().setReference("/Books");

wrp.getClientResource().getClientInfo().getAcceptedMediaTypes().add(new
Preference<MediaType>(MediaType.APPLICATION_JSON));


wrp.getBooks(new Result<String>() 
    {
  public void onFailure(Throwable caught) 
  {
    Window.alert("Fail" + caught.getMessage());
  }

  public void onSuccess(String json) 
  {
    Window.alert(json);
  }
});

当我运行应用程序时,我总是收到错误:

“没有源代码可用于org.restlet.resource.ClientProxy类型;您是否忘记继承所需的模块?”

但是如果我在.gwt.xml中继承它:

发生另一个错误:

无法在类路径中找到'org / restlet / Restlet.gwt.xml';可能是一个错字,或者你忘了为源包含一个类路径条目?       [错误]第13行:处理元素'inherits'时出现意外异常

有人知道为什么吗?

提前致谢!

艾克

2 个答案:

答案 0 :(得分:0)

确保使用GWT edition of Restlet并且org.restlet.jar位于GWT编译器的类路径中。

答案 1 :(得分:0)

在GWT方面,你必须使用包org.restlet.client.*,在GAE方面你使用org.reslet