Chamando um serviço GWT em um contexto diferente da base do módulo GWT?
Pergunta
Eu tenho um módulo GWT com a base x-gwt-module http://host:8080/foo/
e gostaria de chamar um serviço (GWT) que está localizado em http://host:8080/bar/
. O motivo é, por exemplo, que eu quero compartilhar um serviço GWT entre dois projetos de clientes GWT diferentes.
Tudo o que trabalhei até agora é se o serviço está localizado no contexto do módulo, ou seja, http://host:8080/foo/bar
funciona bem, usando @RemoteServiceRelativePath("bar")
na minha interface de serviço.
Parece que o @RemoteServiceRelativePath
Permite apenas um valor em relação ao URL da base do módulo ... então existe outra maneira de realizar o que estou tentando realizar?
Solução
Acabei encontrando a resposta eu mesmo bem aqui:
O problema aparece por causa do caminho de controle remoto como você notou, diz RelityPath, uma maneira de consertar isso é usar
((ServiceDefTarget)gwtService).setServiceEntryPoint("/some/absolute/path");
Ou use o poder do caminho relativo (é assim que eu faço, porque sou preguiçoso)
@RemoteServiceRelativePath("../servX")
que, em vez de /modb /servx ou /moda /servx se tornarão /servx, independentemente do que o módulo chama também de fazer as alterações adequadas no web.xml para que o