我有一个带有2个GWT模块的应用程序(.gwt.xml
)。我想在它们之间共享一个 RPC服务。但模块具有不同的名称,因此第一个模块从
FIRSTModuleName/relativepath
(并且有效)
但是第二个模块尝试从
调用它 SECONDModuleName/relativepath
(它不起作用,因为路径不正确)。
答案 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方法放入公共基类。