【问题标题】:JSON-RPC and Json-rpc service discovery specificationsJSON-RPC 和 Json-rpc 服务发现规范
【发布时间】:2011-02-07 20:13:39
【问题描述】:

我将实现 JSON-RPC Web 服务。我需要这方面的规范。到目前为止,我只发现了一种可以称为真正规范的资源:

但是我看到像 Dojo 这样的 JavaScript 框架积极使用 JSON-RPC SMD

但它需要 JSON Schema 规范,但它会重定向到错误的 URL 作为参考。到目前为止,我发现了以下内容:

而且还是草稿……

谁能指出一些实际的规格...至少官方更新的东西?因为看起来按原样实现 JSON-RPC 1.0 可能还不够,至少对于像 Dojo 这样的框架来说是这样。还是我错了?

问题:

  • JSON-RPC 1.0 规范的实现是否足以为大多数现代客户端提供 JSON-RPC 服务,以及有多少客户端(如果有的话)实际支持 JSON-RPC 1.0 以外的功能(SMD、Schema , 2.0)?

    因为看起来 JSON-RPC 1.0 只是一个有官方规范的(而不是草稿)

  • 如果我应该实现 SMD,或者建议有人可以指出官方的,Json SchemaService Mapping Description 的最新规范,还是我找到的链接真的“规格?”

  • JSON-RPC 2.0、SMD 和 JSON-Schema 草案是否足够稳定以实施它们?

注意:不建议现有的 JSON-RPC 服务实现。

有人吗?

编辑:有人使用 JSON-RPC 吗?

【问题讨论】:

  • 现在 JSON-RPC 2 不是一个草案,而是一个批准的规范,而 Json-Schema 是一个工作草案。
  • @the_drow - 非常感谢。这个很重要。你知道是否有任何 SMD 或 Json-Schema 不再是草稿吗?
  • Json-Schema 是一个互联网草案,这意味着它应该被批准或拒绝(但我认为这不会发生)。 SMD有它的问题,所以我不太确定。首先,它只支持基于 HTTP 或 URI 的传输,而 JSON-RPC 只能使用套接字进行传输。它可以扩展为能够通过目标属性支持套接字或其他通信方式。我会通过电子邮件向 Kris 发送消息。您是否有机会为 CppCms 实施它?如果是这样,我自己需要一个 JSON-RPC 实现。我可能会帮忙。
  • @the_drow CppCMS 完全实现并支持基于 HTTP 的 JSON-RPC 1.0。我认为添加 2.0 会很容易,因为它已获得批准。此外,它还需要对命名参数的额外支持(1.0 只有位置参数),但这很容易。 CppCMS 还支持手动生成的 SMD(即您提供它只是为它服务的 smd 文件)。
  • 我不需要 HTTP 支持,相反我需要 JSON-RPC over sockets。我目前正计划实现 JSON-RPC 2.0 实现。愿意通过邮件与我联系吗?查看我的个人资料。

标签: json specifications rfc json-rpc smd


【解决方案1】:

如果我应该实现 SMD,或者它是 推荐有人可以指出 官方最新规格 Json Schema 和服务映射 我找到的描述或链接是 真的是“规格?”

是 JSON-RPC 2.0、SMD 和 JSON-Schema 草案足够稳定以实施 他们?

我使用这些东西找到的每个项目都链接到您找到的相同规范。人们正在根据草案规范使用它,但不足以真正推动良好文档和示例的开发。

http://javascript.neyric.com/blog/2009/03/06/inputex-022-smd-yui-rpc/

http://www.tine20.org/wiki/index.php/Developers/Concepts/Howto_connect_to_Tine_2.0_over_JSON-RPC

http://framework.zend.com/manual/en/zend.json.server.html

【讨论】:

    【解决方案2】:

    我在 dojo 文档中找到了 SMD 的规范。到目前为止,这是我能找到的最完整和最新的。让您的 JsonRPC 服务启动并运行成功了吗?

    https://github.com/dojo/docs/blob/master/dojox/rpc/smd.rst

    【讨论】:

      【解决方案3】:

      JSON-RPC.NET 中有一个 SMD。因此,如果您想要一些示例代码,您可以从源浏览器中提取它。这是Link to SMD code,它至少值得一看,即使它还没有声称是发布质量的 SMD 服务。

      【讨论】:

        【解决方案4】:

        我根据以下参考创建了Brutusin-RPC

        在我的情况下,最后一个是草稿的事实并没有让我太困扰,因为该库提供了将客户端与架构细节隔离开的工具,例如端点客户端、描述性内置服务和测试模块......其实我用的是 JSON-Schema 的一些自定义扩展...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-07-01
          • 1970-01-01
          • 2012-10-21
          • 1970-01-01
          • 2013-09-12
          • 1970-01-01
          • 2011-02-05
          相关资源
          最近更新 更多