Вызов службы GWT в другом контексте, чем база модулей GWT? - PullRequest
10 голосов
/ 13 апреля 2010

У меня есть модуль GWT с X-GWT-Module-Base http://host:8080/foo/, и я хотел бы вызвать службу (GWT), которая находится по адресу http://host:8080/bar/.Причина, например, в том, что я хочу иметь возможность совместно использовать службу GWT между двумя различными клиентскими проектами GWT.

До сих пор я работал только в том случае, если служба находится в контексте модуля, т.е.http://host:8080/foo/bar работает нормально, используя @RemoteServiceRelativePath("bar") в моем сервисном интерфейсе.

Кажется, что @RemoteServiceRelativePath допускает только значение относительно базового URL модуля ... так что есть какой-то другой способ выполнить то, чтоЯ пытаюсь достичь?

1 Ответ

14 голосов
/ 13 апреля 2010

Закончил поиском ответа сам прямо здесь :

проблема возникает из-за RemoteServiceRelativePath, как вы заметил, что это говорит относительный путь, Один из способов исправить это использовать

  ((ServiceDefTarget)gwtService).setServiceEntryPoint("/some/absolute/path");

или используйте силу относительного пути (вот как я это делаю, потому что я ленивый)

  @RemoteServiceRelativePath("../servX")

который вместо / modB / servX или / modA / servX станет / servX no независимо от того, что модуль называет это также вам нужно будет внести соответствующие изменения в файл web.xml, чтобы

...