JSON-RPC和Json-rpc服务发现规范

12

我准备实现JSON-RPC web服务,需要它的规范。到目前为止,我只找到了一个可以称之为真正规范的资源:

然而,我发现像Dojo这样的JavaScript框架积极使用JSON-RPC SMD:

但是它需要JSON模式规范,但是引用的URL重定向到不正确的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吗?


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

    5
    如果我要实现SMD,或者有人推荐的话,可以指向Json Schema和Service Mapping Description的官方、最新规范吗?还是我找到的链接就是“规范”? 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

    0

    我基于以下参考资料创建了Brutusin-RPC

    在我的情况下,最后一个参考资料是一份草案,并没有太大的影响,因为该库提供了一些工具来隔离客户端与模式细节之间的关系,例如端点客户端、内置描述性服务以及测试模块...事实上,我使用了一些自定义的JSON-Schema扩展...


    0

    JSON-RPC.NET中有一个SMD。因此,如果您想要一些示例代码,可以从源浏览器中获取它。这里是一个SMD代码链接,即使它还没有被认为是发布质量的SMD服务,但至少值得一看。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接