GWT Отложенная проблема привязки - PullRequest
0 голосов
/ 28 ноября 2011

У меня проблема с GWT:

Стек исключений выглядит следующим образом:

Caused by: java.lang.RuntimeException: Deferred binding failed for 'com.cme.reg.fltrs.common.service.AnnouncementService' (did you forget to inherit a required module?)
    at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
    at com.google.gwt.core.client.GWT.create(GWT.java:98)
    at com.cme.reg.fltrs.client.sharedui.utils.ServiceFactory.getAnnouncementService(ServiceFactory.java:117)
    at com.cme.reg.fltrs.client.announcement.AddMaintainAnnouncementModel.saveAnnouncement(AddMaintainAnnouncementModel.java:36)
    at com.cme.reg.fltrs.client.announcement.AddMaintainAnnouncementPanel.save(AddMaintainAnnouncementPanel.java:260)
    at com.cme.reg.fltrs.client.announcement.AddMaintainAnnouncementPanel$6.onClick(AddMaintainAnnouncementPanel.java:168)
    at com.cme.libs.gwt.client.widgets.events.CMEClickListener.onEvent(CMEClickListener.java:10)
    at com.cme.libs.gwt.client.widgets.events.CMEListenerCollection.fireEvent(CMEListenerCollection.java:51)
    at com.cme.libs.gwt.client.widgets.CMEButton$1.onClick(CMEButton.java:30)
    at com.google.gwt.event.dom.client.ClickEvent.dispatch(ClickEvent.java:54)
    at com.google.gwt.event.dom.client.ClickEvent.dispatch(ClickEvent.java:1)
    at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
    at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
    at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
    at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:127)

Его ошибка: announcementService = GWT.create(AnnouncementService.class); Примечания:

У меня естьмой класс обслуживания: AnnouncementService @RemoteServiceRelativePath ("announce.srvc") был добавлен в AnnouncementService.

Асинхронный класс обслуживания: AnnouncementServiceAsync

Configurations.xml:

entry key="**/announcement.srvc" value-ref="announcementServiceServlet"

Любая помощь, где я делаю что-то неправильно или что-то пропустил?

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Спасибо, Томас. Мало что нужно проверить:

1.Service должен иметь соответствующий класс ServiceAsync 2. Убедитесь, что все типы, используемые в Сервисе, реализуют IsSerializable

Мне не хватало этих двух состояний в нескольких местах.

0 голосов
/ 16 августа 2013

Если вы получаете ошибку отложенного связывания с вашим RPC, то в дополнение к проверке имеется соответствующий асинхронный интерфейс, еще одна вещь, которую нужно проверить, - убедиться, что у вас есть такие же методы вследующие 3 места:

  1. Синхронный интерфейс
  2. Асинхронный интерфейс
  3. Класс реализации службы

Я получил аналогичную ошибку "отложенного связывания"когда в моем Синхронном (обычном) интерфейсе случайно появился дополнительный метод, который отсутствовал в интерфейсе и классе реализации Async, но моя IDE (IntelliJ IDEA 12) не помечала файлы как имеющие ошибки.Когда я наконец вспомнил, что недавно удалил метод из моего сервиса, я вошел в интерфейс Synchronous и увидел, что забыл удалить сигнатуру этого метода из синхронного интерфейса.Снятие его так, чтобы подписи совпали во всех трех файлах, исправило ошибку отложенного связывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...