2011-01-11 9 views
5

¿Alguien sabe de alguna herramienta que genere un archivo .proto? ¿Ya sea desde un xsd existente o desde objetos Java existentes?Generación de archivos .proto a partir de objetos Java existentes o xsd

Estoy usando Apache CXF para hacer una llamada al servicio web. El objeto devuelto se ha generado automáticamente desde un xsd.

bien, así que ahora quiero pasar esta información usando memorias intermedias de protocolo a otro sistema. El modelo de objetos es muy complejo y cambia regularmente, es decir, obtengo un nuevo xsd cada vez que cambia el modelo de objetos. Me gustaría poder generar automáticamente un archivo .proto para que pueda enviar datos utilizando los búferes de protocolo de Google.

He estado buscando en todas partes, pero he quedado estancado.

estoy feliz de

i.) Generar .proto archivo de la xsd o ii.) Generar .proto archivo de los objetos Java (que se han generado a partir de la xsd)

I no puedo encontrar ninguna forma de hacer esto ya que estoy escribiendo algo ... Su ayuda muy apreciada

+0

que podría ser capaz de hacerlo con xsd-> C# (a través de xsd.exe) -> proto (a través protobuf-net) - probablemente un poco frágil, especialmente si los objetos son complejos ... –

+0

mmm ... ok gracias ... eso podría ser una solución - no puedo creer que Google no proporcione una herramienta para hacer esto, ya que Estoy seguro de que si quieren que las personas utilicen esta tecnología, supondrían que tomar un modelo de datos actualizado y convertirlo en un archivo proto sería un caso de uso bastante común, a menos que me haya olvidado de los búferes de puntos de protocolo aquí ... – ConfusedProtocolBuffer

+0

Así que recientemente tuve que hacer esto por mi trabajo, y tengo código fuente abierto. Es bastante simple, pero cubre la mayoría de las estructuras de datos comunes que uso. Puede obtener el código de [aquí] (https://github.com/lloydsparkes/java-proto-generator) – lloydsparkes

Respuesta

1

Creo que proto-stuff será útil para usted hasta cierto punto. No estoy seguro de que genere el archivo .proto pero protostuff-runtime habilita automáticamente sus pojos existentes para ser/deser en varios formatos.

+0

gracias por su respuesta, la cosa es que aún necesito generar el archivo proto ya que tengo que darle esto al equipo de desarrollo para construir el otro lado de la solución en C# ... ¿alguna otra idea? Gracias – ConfusedProtocolBuffer

0

La utilidad Tranchis convierte archivos .XSD a .Proto y Thrift.

https://github.com/tranchis/xsd2thrift

que funciona bastante bien para la conversión de los tipos de esquema básico del esquema XML.

0

Probar protostuff-runtime-proto proyecto de Github. Si ha Protostuff RuntimeSchema, puede convertirlo en el archivo .proto por este código:.

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