是否可以将GWT-RPC调用发送到另一台服务器?

时间:2014-04-12 06:03:08

标签: ajax gwt service gwt-rpc cross-domain-policy

假设我已经关注GWT服务:

@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService {
    String greetServer(String name) throws IllegalArgumentException;
}

我建立&在myserver1.com上部署客户端代码,但我的servlet位于myserver2.com上(例如http://myserver2.com/gwt-module-base/greet)& server1允许server2的跨域资源共享 现在,问题是:如何向myserver2.com而不是myserver1.com发送问候服务的gwt-rpc调用?

1 个答案:

答案 0 :(得分:2)

您唯一需要的是在myserver2.com中启用CORS。我前段时间为gwtquery文档编写了一个过滤器。它也适用于RPC和RF。

https://code.google.com/p/gwtquery/wiki/Ajax#CORS_(Cross_Origin_Resource_Sharing)

[EDITED]

您必须以这种方式配置服务传输:

GreetingServiceAsync greetingService = GWT.create(GreetingService.class);
((ServiceDefTarget)greetingService).setServiceEntryPoint("myserver2.com/greet");
greetingService.greetServer(....)