Проблема использования GWT-клиента для вызова веб-службы Restlet - PullRequest
0 голосов
/ 18 февраля 2011

Я использую фреймворк Restlet и хочу использовать GWT в качестве клиентской стороны. Я уже создал несколько ServerResources в Restlet. Вот коды для клиента 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' в вашем пути к классам; может быть опечатка, или, может быть, вы забыли включить запись classpath для источника? [ОШИБКА] Строка 13: неожиданное исключение, когда обрабатывающий элемент «наследует»

Кто-нибудь знает почему?

Заранее спасибо!

Ike

Ответы [ 2 ]

0 голосов
/ 04 сентября 2011

На стороне GWT вам придется использовать пакет org.restlet.client.*, на стороне GAE вы используете org.reslet.

0 голосов
/ 18 февраля 2011

Убедитесь, что вы используете GWT-версию Restlet и что org.restlet.jar находится в пути к классам компилятора GWT.

...