JSON-WSP 或 JSON-RPC [关闭]

2023-12-22

我们即将使用 JSON 对象作为传输方式来实现 Web 服务。我们打算让第三方组织连接到我们的网络,为此我们计划使用标准化协议来简化未来的集成。

对于 JSON,目前有两种规范:JSON-RPC 和 JSON-WSP。我想知道任何人对这两者的看法,以及如果您处于我的立场,您会使用什么。目前,我发现 JSON-RPC 已经存在了一段时间并且具有多种语言的实现。 JSON-WSP 尚处于早期阶段,但其目标是取代 JSON-RPC(RFC 正在制定中)。我认为从长远来看 JSON-WSP 将是一个很好的解决方案,但我可能是错的。


这两个协议之间的主要区别在于 JSON-WSP 可以用以下方式描述它自己的服务方法:jsonwsp/描述对象 http://en.wikipedia.org/wiki/Jsonwsp#The_JSON-WSP_description_object。如果您希望您的客户端能够“了解”您的 Web 服务,并且可能提供动态客户端用户界面,该界面可以在您更改服务方法时自动更改可视化效果,那么这很好。因此,服务器端更新可能会变得非常容易分发。

JSON-WSP 支持附件 http://en.wikipedia.org/wiki/Jsonwsp#Attachments在规范中

JSON-RPC 支持批量方法调用 - 在一个请求中调用多个方法。您还可以执行无响应请求(通知)

JSON-RPC 是这两个协议中最古老的,因此它有更多的实现和一个庞大的社区。

所以我想这一切都归结为您的需求是什么。

如果您正在构建基于浏览器的应用程序,JSON-WSP 使用官方 javascript 客户端提供高效的基于 Ajax 的机制。 JavaScript json-wsp 客户端解析服务描述并生成一个代理对象,其方法与 json-wsp 方法一对一映射:

http://ladonize.org/index.php/Python_Example#JavaScript_JSON-WSP_client http://ladonize.org/index.php/Python_Example#JavaScript_JSON-WSP_client

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON-WSP 或 JSON-RPC [关闭] 的相关文章

随机推荐

  • 在 Pre 标记中转义 HTML 字符

    我已经安装了语法荧光笔 但为了使其工作 标签必须写为 lt and gt 我需要做的是将所有 lt 和 gt 的 gt 但仅限于 PRE 标签内 所以 简而言之 我想转义 pre 标记内的所有 HTML 字符 提前致谢 tl dr 您需要解
  • 如何使用 Turbo C++ 编译器在 Notepad++ 中编译和调试 C++

    我已经在notepad 中安装了NppExecute插件 我无法弄清楚在 Notepad 中编译和调试 C C 程序的下一步 系统详细信息 a Turbo C 目录 C TC b 操作系统 Windows 7 请提供有关如何设置环境变量和编
  • 用于发现窗口和按钮等对象的 HWND 的程序

    我记得几年前 我使用了一个程序 它能够显示任何 Windows 程序中的任何对象 例如窗口和按钮 的属性和 HWND 我记得 您只需将鼠标悬停在感兴趣的对象上 程序就会显示信息 有谁知道我指的是哪个程序以及在哪里可以找到它 您很可能正在使用
  • Android:在drawable xml、layer-list中,为什么item的宽度在API 19或更低版本中不起作用?

  • 将一个 css 类定位到另一个 css 类中

    您好 我在 joomla 中的一些 css 类方面遇到问题 我在一个模块中有两个 div 一个是包装类 wrapper 另一个是内容类 content 内容在包装内 我想做的是将 css 样式定位到内容类上 通常我只是将 content m
  • WCF basicHttpBinding:回复客户端失败时回滚

    我通过以下方式公开 WCF 服务basicHttpBinding对数据库执行多个操作 我想保证 如果客户端没有收到回复 数据库操作将回滚 没有任何通过 WCF 的事务流 例如 客户端调用在服务器上执行的 DoX 方法 但在完成之前客户端崩溃
  • 如何合并这 3 个 SPF txt 记录

    我有 3 条 SPF 记录 v spf1 include spf protection outlook com all v spf1 a ptr include authsmtp com all v spf1 a mx include sp
  • 插件架构中的 DI (Autofac):每个插件一个单独的 DI 容器可以吗?

    我正在尝试介绍 DI 与Autofac http code google com p autofac 到现有的 Windows 窗体应用程序中 该应用程序具有基本的插件架构 其中每个插件都显示自己的表单 启动时 应用程序会扫描已注册的程序集
  • 子ViewController调整containerView的大小

    My app hierarchy looks something like this 主视图控制器 我们称之为控制器 1 包含一个滚动视图 一个图像和一个指向另一个视图控制器并将数据传递到表视图的容器视图 控制器 1 滚动视图设置为在约束下
  • PHP中的@是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 php中 符号有什么用 https stackoverflow com questions 1032161 what is the use of symbol in php 我想知道php代码中 的用
  • Phonegap应用程序错误处理,提交日志到服务器

    我正在开发一个 Phonegap 应用程序 所以我想有没有一种好方法可以以某种方式将应用程序崩溃报告 主要是 javascript 的 console logs 提交到服务器 或者我是否必须手动执行此操作并将其记录到文本文件并提交 您可以使
  • 为什么 Gather() 不使用键变量名?

    虽然很丢脸 但我还是无法完全集中注意力tidyr 具体来说gather 我觉得我错过了一些基本的东西 如果我运行这段小代码 library tidyr x lt data frame var1 letters 1 3 var2 LETTER
  • 如何通过 Python/Boto3 添加 DynamoDB 全局二级索引

    是否可以在创建现有 DynamoDB 表后添加全局二级索引 我将 Python 3 x 与 Boto3 一起使用 但无法找到在创建表后将它们添加到表中的任何示例 一般来说 是的 可以添加全局二级索引 GSI 创建表后 然而 更改可能需要很长
  • 在 GAE 项目中的灵活环境模块之间共享代码

    我正在将我的 GAE flex 项目构建为多种服务 my project services service 1 service 1 yaml service 2 service 2 yaml 我现在想在服务之间共享一些代码 理想情况下 我希
  • 如何等待一系列任务并停止等待第一个异常?

    我有一系列任务 我正在等待它们Task WhenAll https learn microsoft com en us dotnet api system threading tasks task whenall 我的任务经常失败 在这种情
  • 在 Ubuntu 中自动安装基于包的 Perl 模块

    我想安装特定 Perl 脚本所需的 Perl 模块 例如perl depends工具 不过 我想在 Ubuntu 中使用apt get 意味着通过包存储库而不是通过 CPAN 安装模块 最相似的问题 例如this one https sta
  • Rails 中的全文 mysql 搜索

    我正在尝试将一个简单的 mysql 全文搜索添加到一个 请不要告诉我安装 solr 或任何其他搜索宝石 我尝试运行它们 这似乎是一个又一个问题 有一天我会抽出时间来做这件事 但那一天不是今天 我需要添加 add index 迁移 但是当我运
  • Visual Studio 2008 Express 无法识别我的 Sql Server 2008 Express

    我最近安装的顺序是 SQL Server 2008 Express 可视化 Web 开发人员速成 2008 当我右键单击 app data 并尝试添加数据库时 它返回 与 SQL Server 文件 mdf 的连接需要 SQL Server
  • 有没有办法在原生 CommonJS 环境中使用 JSX?

    我正在一个具有本机的环境中启动一个新项目CommonJS支持require模块 这是一个atom shell项目 不可能使用预编译步骤 例如在Browserify或webpack AFAIK中 我可以在我的设备上使用 JSXapp jsx在
  • JSON-WSP 或 JSON-RPC [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi