从现有Java对象或xsd生成.proto文件

时间:2011-01-11 16:54:15

标签: java xsd protocol-buffers

是否有人知道会生成.proto文件的任何工具?是从现有的xsd还是从现有的Java对象?

我正在使用Apache CXF拨打网络服务电话。返回的对象已从xsd。

自动生成

好的,所以我现在想要使用协议缓冲区将这些数据传递给另一个系统。对象模型非常复杂并且经常变化 - 即每次对象模型发生变化时我都会得到一个新的xsd。我希望能够自动生成.proto文件,以便我可以使用谷歌协议缓冲区发送数据。

我一直在寻找,但已经陷入困境。

我很高兴

i。)从xsd生成.proto文件 要么 ii。)从Java对象生成.proto文件(从xsd生成)

我找不到任何方法这样做已经没有自己写一些东西...... 非常感谢您的帮助

3 个答案:

答案 0 :(得分:1)

我相信proto-stuff会在某种程度上对您有所帮助。我不确定它会为您生成.proto文件,但 protostuff-runtime 会自动使您现有的pojos能够使用各种格式。

答案 1 :(得分:1)

Tranchis实用程序将.XSD文件转换为.Proto和Thrift。

https://github.com/tranchis/xsd2thrift

它非常适合从XML Schema转换基本模式类型。

答案 2 :(得分:1)

从Github尝试protostuff-runtime-proto项目。 如果您有protostuff RuntimeSchema,可以通过以下代码将其转换为.proto文件:

System.out.println(Generators.newProtoGenerator(schema).generate());