4

我有一个带有 2 个 GWT 模块(.gwt.xml)的应用程序。我想在他们之间共享一个RPC 服务。但是模块有不同的名字,所以第一个模块调用 RPC 服务

FIRSTModuleName/relativepath (并且有效)

但第二个模块尝试从

SECONDModuleName/relativepath(它不起作用,因为路径不正确)。

4

3 回答 3

7

您可以将您的 URL 映射RemoteserviceServlet到两个 URL(迄今为止最简单的解决方案),或者您可以更改客户端代码以使两个模块调用相同的 URL。

对于后者,不要使用@RemoteServiceRelativePath,而是将您的服务异步转换为ServiceDefTargetsetServiceEntryPoint使用您要使用的 URL 进行调用(@RemoteServiceRelativePath只是setServiceEntryPoint自动调用的快捷方式GWT.getModuleBaseURL() + relativePath)。
我相信您也可以../@RemoteServiceRelativePath.

于 2012-12-05T15:31:12.653 回答
1

对于生产,不要忘记向 web.xml 添加第二个 servlet 映射条目。您可以让 servlet 监听任意数量的 URL。

于 2012-12-05T15:35:15.150 回答
0

另一种选择是将共享的 RPC 方法放入公共基类中。

于 2012-12-06T14:00:56.913 回答