Вызываете службу GWT в другом контексте, чем база модулей GWT?
У меня есть модуль 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 ответ
Закончил тем, что нашел ответ прямо здесь:
проблема возникает из-за RemoteServiceRelativePath, как вы заметили, он говорит: относительный путь, один из способов исправить это использовать
((ServiceDefTarget)gwtService).setServiceEntryPoint("/some/absolute/path");
или использовать силу относительного пути (вот как я это делаю, потому что я ленивый)
@RemoteServiceRelativePath("../servX")
который вместо /modB/servX или /modA/servX превратится в / servX, независимо от того, какой модуль его вызывает, также вам нужно будет внести соответствующие изменения в web.xml, чтобы