【发布时间】:2021-04-21 16:02:18
【问题描述】:
有没有人知道任何可以生成 .proto 文件的工具?来自现有 xsd 还是来自现有 Java 对象?
我正在使用Apache CXF 进行网络服务调用。返回的对象是从 xsd 自动生成的。
好的,所以我现在想使用协议缓冲区将此数据传递到另一个系统。对象模型非常复杂并且定期更改 - 即每次对象模型更改时我都会获得一个新的 xsd。我希望能够自动生成一个 .proto 文件,以便我可以使用 google 协议缓冲区发送数据。
我四处寻找,但卡住了。
我很高兴
i.) 从 xsd 生成 .proto 文件 或者 ii.) 从 Java 对象(已从 xsd 生成)生成 .proto 文件
除了自己写一些东西之外,我已经找不到任何方法了... 非常感谢您的帮助
【问题讨论】:
-
我也许可以用 xsd->c#(通过 xsd.exe)->.proto(通过 protobuf-net)来做到这一点——不过可能有点脆弱,尤其是在对象很复杂的情况下。 ...
-
mmm .. 好的,谢谢... 这可能是一种解决方法 - 我不能相信谷歌不提供这样做的工具,因为我确信如果他们希望人们采用他们会假设的这项技术采用现有数据模型并将其转换为 proto 文件将是一个非常常见的用例 - 除非我在这里错过了协议缓冲区的 hte 点......
-
今天早上我遇到了这个项目。我还没有尝试过,但它声称支持直接从 .xsd 到 .proto:github.com/tranchis/xsd2thrift
-
所以我最近为了工作不得不这样做,并且我已经开源了代码。它非常简单,但它涵盖了我使用的大多数常见数据结构。您可以从here获取代码
标签: java xsd protocol-buffers