【问题标题】:What version of GWT-RPC is this request?这个请求是什么版本的 GWT-RPC?
【发布时间】:2014-01-26 21:00:07
【问题描述】:

我有这种似乎是 GWT-RPC 格式的请求:

R7~"61~com.foo.Service~"14~MethodA~D2~"3~F7e~"3~B0e~Ecom.foo.data.BeanType~I116~Lcom.foo.Parameter~I5~" 1~b~Z0~"1~n~V~"1~o~Z1~"1~p~Z1~"1~q~V~'

但它不符合此处描述的协议:

这个协议到底是什么?真的是 GWT-RPC 还是别的什么(deRPC?)?

查看 gwt-2.5.1 源代码,我注意到似乎以下软件包可能会生成这种格式:

  • com.google.gwt.rpc.client
  • com.google.gwt.rpc.server

这是 deRPC 吗?

【问题讨论】:

    标签: gwt gwt-rpc gwt2


    【解决方案1】:

    根据您列出的包中的 deRPC 类的快速浏览,它确实看起来是 deRPC。请注意,deRPC 一直被标记为实验性的,现在已弃用,应该使用 RPC 或 RequestFactory。

    似乎证实了这一点的细节:

    • com.google.gwt.rpc.client.impl.SimplePayloadSink#RPC_SEPARATOR_CHAR 是一个等于 ~ 字符的常量,它似乎是您提供的示例字符串中不同标记之间的分隔符。

    • com.google.gwt.rpc.client.impl.SimplePayloadSink andcom.google.gwt.rpc.server.SimplePayloadDecoder` 都有许多 cmets,它们似乎描绘了与您在其中看到的相同基本格式:

      • // "4~abcd in endVisit(StringValueCommand x, Context ctx) 与示例字符串中的几个标记紧密匹配 - 表示字符串的引号,描述长度的 int,~ 分隔符,然后是字符串本身(这不匹配所有内容,我怀疑是因为您删除了有关服务和方法名称的详细信息):

        • "3~F7e

        • "3~B0e

        • "1~b

      • 布尔值都跟在Z1Z0 后面,就像在您的示例字符串中一样

    【讨论】:

    • 谢谢,虽然我同时找到了答案,但您的调查至少值得接受和赞成。我查看了您的其他一些与 GWT 相关的答案,令人印象深刻!
    猜你喜欢
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 2021-12-12
    相关资源
    最近更新 更多