如何使用 GWT-RPC 以外的方式访问 GWT servlet?

Posted

技术标签:

【中文标题】如何使用 GWT-RPC 以外的方式访问 GWT servlet?【英文标题】:How access GWT servlets using some way other than GWT-RPC? 【发布时间】:2012-07-19 04:18:25 【问题描述】:

是否可以使用 GWT-RPC 以外的协议(例如 AS SOAP)访问 GWT servlet? 如果是,是否需要对它们进行任何更改? 如果没有,我该如何手动发出 GWT-RPC 请求并解析服务器响应并将其从 GWT-RPC 转换为任何其他格式(即是否有任何第三方库可以做到这一点)?

【问题讨论】:

【参考方案1】:

是的,您可以使用 HttpRequest 使用 GWT-RPC 以外的协议访问 GWT servlet。

https://developers.google.com/web-toolkit/doc/2.4/DevGuideServerCommunication#DevGuideHttpRequests

以这种方式使用 JSON 是很常见的。教程在这里https://developers.google.com/web-toolkit/doc/2.4/tutorial/JSON

不过,您需要什么格式?您可以将数据作为对象传回给客户端。如果您不是从 GWT 客户端发出请求,那么您可能不想使用 rpc。

至于 SOAP,看看这里的好讨论https://groups.google.com/forum/?fromgroups#!topic/google-web-toolkit/M2KshXZkLUo

总结

从 GWT 客户端使用 RPC 或 RequestBuilder (HttpRequest)

http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/http/client/package-summary.html

如果您需要从非 gwt 客户端调用,则只需使用 servlet,不要费心尝试转换返回的 rpc 调用。

【讨论】:

请注意,如果 SOAP 服务器与部署 GWT 应用程序的服务器不同,您可能会遇到跨域安全问题。 是的,但在这种情况下,您不会对服务器进行 rpc 调用,然后从那里调用 SOAP,通过 rpc 返回结果吗? 确实,这就是我访问位于另一台服务器上的 RESTful Web 服务的方法。 ***.com/questions/11464987/…

以上是关于如何使用 GWT-RPC 以外的方式访问 GWT servlet?的主要内容,如果未能解决你的问题,请参考以下文章

gwt-rpc vs rest ......真的是其中之一吗?

如何对 gwt-rpc 调用进行分组?

重新审视 GWT-RPC 和臭名昭著的零星“StatusCodeException:0”异常

如何将 Swagger UI 添加到现有的 GXT 或 GWT 项目并使用当前的 GWT-RPC REST 请求?

如何集成 GWT-RPC、Android 和 GAE?

Gwt-rpc 仅使用 DAO。摆脱 DTO