2011-01-11 15 views
5

Qualcuno sa di strumenti che generano un file .proto? O da un xsd esistente o da oggetti Java esistenti?Generazione del file .proto da oggetti Java esistenti o xsd

Sto utilizzando Apache CXF per effettuare una chiamata al servizio web. L'oggetto restituito è stato generato automaticamente da un xsd.

ok, quindi ora voglio passare questi dati utilizzando i buffer del protocollo su un altro sistema. Il modello a oggetti è molto complesso e cambia regolarmente - ad esempio, ottengo un nuovo xsd ogni volta che il modello dell'oggetto è cambiato. Mi piacerebbe essere in grado di generare automaticamente un file .proto in modo che possa inviare dati utilizzando i buffer del protocollo google.

Ho cercato ovunque ma sono rimasto bloccato.

sono felice di

i.) Generano Proto file dal XSD o ii.) Generano Proto File proveniente da oggetti Java (che sono stati generati dalla XSD)

I non riesco a trovare un modo per farlo già prima di scrivere qualcosa io ... Il tuo aiuto è molto apprezzato

+0

potrei essere in grado di farlo con xsd-> C# (via xsd.exe) -> Proto (via protobuf-net) - probabilmente un po 'fragile però, soprattutto se gli oggetti sono complessi .... –

+0

mmm .. ok grazie ... potrebbe essere una soluzione - non posso credere che google non fornisca uno strumento per farlo come Sono sicuro che se vogliono che le persone adottino questa tecnologia, presumono che assumere un modello di dati exsting e convertirlo in un file di proto sarebbe un caso abbastanza comune, a meno che non abbiate perso qui il punto dei buffer di protocollo ... – ConfusedProtocolBuffer

+0

Quindi ho dovuto farlo di recente per lavoro, e ho aperto il codice. È abbastanza semplice, ma copre la maggior parte delle strutture dati comuni che utilizzo. Puoi ottenere il codice da [qui] (https://github.com/lloydsparkes/java-proto-generator) – lloydsparkes

risposta

1

Credo che proto-stuff ti sarà utile in una certa misura. Non sono sicuro che generi il file .proto per te, ma il tempo di esecuzione protostuff abilita automaticamente i tuoi pojos esistenti a ser/deser in vari formati.

+0

grazie per la tua risposta, il fatto è che ho ancora bisogno di generare il proto file come devo dare questo al team di sviluppo che costruisce l'altro lato della soluzione in C# ... altre idee? Grazie – ConfusedProtocolBuffer

0

L'utilità Tranchis converte i file .XSD in entrambi .Proto e Thrift.

https://github.com/tranchis/xsd2thrift

funziona abbastanza bene per la conversione di tipi di schema di base da XML Schema.

0

Provare il progetto protostuff-runtime-proto da Github. Se avete protostuff RuntimeSchema, è possibile convertirlo in file di Proto da questo codice:.

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