【问题标题】:JSONRPC format different between Jsonrpc4j and go's rpc/jsonrpcJsonrpc4j 和 go 的 rpc/jsonrpc 之间的 JSONRPC 格式不同
【发布时间】:2015-11-05 10:16:13
【问题描述】:

当我尝试使用 net/jsonrpc 包使用 jsonrpc4j 构建服务器和 Java 客户端时遇到问题

问题是jsonrpc4j发生错误时,golang的方法会返回错误和编码到json。

我在客户端得到了这个 json 对象

{"id": -6028374044949000, "result": null, "error": "一些错误返回信息"}

这个对象转换在 java 的 json4j 中失败。

http://www.jsonrpc.org/specification#error_object

查看jsonrpc页面后,说error字段必须是json对象,字段为[code, message, date],golang jsonrpc包不符合要求。

所以我很困惑如何解决这个问题。 更改 jsonrpc 库, 只需将rpc方式替换为thrift/gRpc, 避免返回错误但在回复中发送错误并让Java检查响应, 或者只是编辑了 json4j 或 golang 的源代码(我对这个选项很可怕)

感谢收看。

【问题讨论】:

  • em...但它匹配 http://json-rpc.org/wiki/specification
  • 2.0新增错误对象详情
  • 所以我认为net/rpc/jsonrpc 低于 1.0,但没有记录。

标签: java json go jsonrpc4j


【解决方案1】:

如果你需要对 Go 的 JSON-RPC 2.0 支持,你可以试试https://github.com/powerman/rpc-codec

【讨论】:

  • 谢谢,我不是 http 和 thirft。
猜你喜欢
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多