GWT RPC。在两个模块之间共享RPC服务

时间:2012-12-05 15:25:45

标签: java gwt

我有一个带有2个GWT模块的应用程序(.gwt.xml)。我想在它们之间共享一个 RPC服务。但模块具有不同的名称,因此第一个模块从

调用RPC服务

FIRSTModuleName/relativepath(并且有效)

但是第二个模块尝试从

调用它

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

3 个答案:

答案 0 :(得分:7)

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

对于后者,请不要使用@RemoteServiceRelativePath,而是将服务 async 转换为ServiceDefTarget,并使用您要使用的网址setServiceEntryPoint调用({1}} @RemoteServiceRelativePath只是setServiceEntryPoint自动调用GWT.getModuleBaseURL() + relativePath的快捷方式 我相信您也可以在../中使用@RemoteServiceRelativePath式网址。

答案 1 :(得分:1)

对于生产,不要忘记在web.xml中添加第二个servlet映射条目。您可以让servlet根据需要收听尽可能多的URL。

答案 2 :(得分:0)

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