Ознакомьтесь с документацией для аннотации RemoteServiceRelativePath , она довольно хорошо объясняет, что делает эта аннотация. В вашем случае ваша служба должна быть расположена на GWT.getModuleBaseURL() + "stockPrices"
... это означает, что если ваше приложение GWT на /mygwtapp
, то ваша служба должна быть на /mygwtapp/stockPrices
. Вы можете установить какой-либо сервис по этому URL, обычно путем определения сервлета, реализующего интерфейс сервиса.
Вы можете использовать любой другой путь вместо "stockPrices"
, просто убедитесь, что за этим путем на сервере есть реальная служба.
Для ваших удаленных служб требуется некоторый удаленный путь (точка входа) либо с помощью аннотации @RemoteServiceRelativePath
, либо путем установки его через ServiceDefTarget interface . Если служба не имеет точки входа, она не может быть вызвана. (Помните: этот путь является URL на сервере)
Например, вместо использования @RemoteServiceRelativePath
вы можете определить свою службу без этой аннотации, а затем, когда вы создаете экземпляр асинхронного прокси службы, вы явно задаете путь:
StockPriceServiceAsync stockService = GWT.create(StockPriceService.class);
((ServiceDefTarget) stockService).setServiceEntryPoint("/services/stock.service");