我刚刚开始使用 Hessian,并且惊讶地发现 javascript 中显然没有 Hessian 功能(特别是序列化/反序列化)的库。我想我有两个问题:
1) 实际上我还没有找到一个像样的 Hessian javascript 库吗?
2)如果没有,是否有充分的理由不存在?
谢谢
我刚刚开始使用 Hessian,并且惊讶地发现 javascript 中显然没有 Hessian 功能(特别是序列化/反序列化)的库。我想我有两个问题:
1) 实际上我还没有找到一个像样的 Hessian javascript 库吗?
2)如果没有,是否有充分的理由不存在?
谢谢
我只是为 RPC 调用写了一个,类似于 ruby-hessian。仅在 nodejs 中可用。使用文档位于https://github.com/villadora/node-hessian。在http://hessian.caucho.com/test/test2中针对 Hessian v2.0 进行了测试。
安装:
npm install hessian-proxy
npm 安装 hession.js
https://github.com/node-modules/hessian.js
纯 JavaScript 编写的 Hessian 序列化 1.0 和 2.0。支持Java中的所有类型。
根据他们的网站,看起来那里没有 JavaScript 端口。
为什么一个不存在?不确定,但似乎 Hessian 的开发人员似乎提倡将 Flash/Flex 作为首选的客户端实现平台。当然,这个网站似乎有点过时了,可能是在 JavaScript 真正流行起来之前就已经建立起来的。
最后,我成功地将 Bram 的库放在浏览器中运行。这是丑陋的代码,但它的工作。请看一下https://github.com/CarlosUrbina/hessianInBrowser
编辑:我意识到 Bram 的库只支持解码 Hessian 1.0 规范。不幸的是,我的应用程序在 Hessian 2.0 上运行,所以我需要编写自己的库。 https://github.com/CarlosUrbina/Hessian2Javascript
AMD 是否准备好并被证明可以在 Chrome 27 和 Firefox 21 中工作。尽管如此,您需要小心使用相同的域策略。如果您需要调用另一个域中的 Web 服务,这可能效果不佳。
我只实现了我需要的数据类型,所以编码部分只是编码整数。解码器更健壮,实现缺少的类型不应该那么难。