c++ - GWT 到 C++ 通信的选项有哪些?

标签 c++ ajax web-services gwt

我正在寻找 GWT 到 C++ 的通信解决方案。 目前我正在尝试弄清楚如何在 GWT 中运行 WSDL,但实际上,我完全没有 WSDL 的经验,而且在 GWT 中也只有很少的经验。

因此,我的问题是关于在 GWT 中使用 WSDL 的可行性(以及如何使用?),如果存在其他方法,也会很有趣。

我试图避免在服务器上编写 Java 而在客户端编写 JavaScript。

最佳答案

GWT 端:

RequestBuilder 和 com.google.gwt.json.client.JSONObject 用于快速且真正不那么脏的编码(marshal)处理 api。

覆盖类型要求您在编译时了解您的数据配置。使用 JSONObject(它是 JSONValue 的),您可以将其视为稍微笨重的键/值映射。

将您的 RequestBuilder 设置为 POST 并通过将其推送到 JSONObject 并调用 toJSON() 来序列化您的负载;

C++ 方面.. 找到一个最喜欢的 JSON 库(我可以从 http://www.json.org/ 的好选择中提出建议)

(你必须构建一个方法调度方案,但如果你的应用程序很简单,只需使用一些简单的 if ()'s)

发回 MIME 类型为 text/javascript;charset=UTF-8 的响应。

回到您的 GWT 代码中,您使用类似这样的方式读回结果:

  if (Response.SC_OK == response.getStatusCode()) {
     try {
        String txtResponse = response.getText();
        if (txtResponse != null && txtResponse.length() > 0) {
           JSONObject result = (JSONObject)JSONParser.parse(testResponse);
           //Do something useful...
        }
     } catch (......)

现在您可以毫无魔法地来回交谈。 (天知道,没有 WDSL!!!)

关于c++ - GWT 到 C++ 通信的选项有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693997/

相关文章:

c++ - 未定义、未指定和实现定义的行为

web-services - Java 1.3 下的 Soap 和 Axis

javascript - AJAX动态内容 "event delegation"替换为 "each"

javascript - 如何在 JavaScript 中发出返回虚假响应的请求?

javascript - 通过ajax post发送文件和表单数据

web-services - useOriginalwsdl=true 在 axis2 中不起作用

java - 了解Spring-WS

c++ - 用与另一个库同名的库命名

C++ Qt - 以编程方式检查 Steam 游戏是否正在运行

c++ - std::sort - 是否传递了错误的比较器未定义行为?