2011-01-11 27 views
5

Có ai biết về bất kỳ công cụ nào sẽ tạo tệp .proto không? Hoặc từ một xsd hiện có hoặc từ các đối tượng Java hiện có?Tạo tệp .proto từ các đối tượng Java hiện có hoặc xsd

Tôi đang sử dụng Apache CXF để thực hiện cuộc gọi dịch vụ web. Đối tượng trả về đã được tạo tự động từ một xsd.

ok vì vậy bây giờ tôi muốn chuyển dữ liệu này bằng cách sử dụng bộ đệm giao thức cho hệ thống khác. Mô hình đối tượng rất phức tạp và thay đổi thường xuyên - tức là tôi nhận được một xsd mới mỗi khi mô hình đối tượng đã thay đổi. Tôi muốn có thể tự động tạo tệp .proto để tôi có thể gửi dữ liệu bằng cách sử dụng bộ đệm giao thức của google.

Tôi đã tìm kiếm ở mọi nơi nhưng đã gặp sự cố.

Tôi vui mừng

i.) Tạo .proto tập tin từ xsd hoặc ii.) Tạo .proto tập tin từ các đối tượng Java (mà đã được tạo ra từ các XSD)

tôi không thể tìm thấy bất kỳ cách nào để thực hiện việc này đã thiếu viết một điều gì đó ... Trợ giúp của bạn được đánh giá cao

+0

tôi có thể có thể làm điều đó với xsd-> C# (thông qua xsd.exe) - proto> (thông qua protobuf-net) - có lẽ là một chút giòn mặc dù, đặc biệt là nếu các đối tượng phức tạp .... –

+0

mmm .. ok cảm ơn ... có thể là một cách giải quyết - Tôi không thể tin rằng google không cung cấp một công cụ để làm điều này như tôi chắc chắn nếu họ muốn mọi người tiếp nhận công nghệ này, họ sẽ giả định rằng lấy một mô hình dữ liệu exsting và chuyển đổi nó sang một tệp proto sẽ là một trường hợp sử dụng phổ biến - trừ khi tôi đã bỏ lỡ điểm hte của bộ đệm giao thức ở đây ... – ConfusedProtocolBuffer

+0

Vì vậy, tôi gần đây đã làm điều này cho công việc, và tôi đã mở mã nguồn. Nó khá đơn giản, nhưng nó bao gồm hầu hết các cấu trúc dữ liệu chung mà tôi sử dụng. Bạn có thể lấy mã từ [ở đây] (https://github.com/lloydsparkes/java-proto-generator) – lloydsparkes

Trả lời

1

Tôi tin rằng proto-stuff sẽ hữu ích cho bạn ở một mức độ nào đó. Tôi không chắc chắn nó tạo ra các tập tin .proto cho bạn nhưng protostuff-runtime tự động cho phép pojos hiện tại của bạn để ser/deser để định dạng khác nhau.

+0

cảm ơn câu trả lời của bạn, tôi vẫn cần tạo tệp proto khi tôi cần đưa điều này cho nhóm phát triển xây dựng phía bên kia của giải pháp trong C# ... bất kỳ ý tưởng nào khác? Cám ơn – ConfusedProtocolBuffer

0

Tiện ích Tranchis chuyển đổi các tệp XSD thành cả .Proto và Tiết kiệm.

https://github.com/tranchis/xsd2thrift

Nó hoạt động khá tốt để chuyển đổi loại giản đồ cơ bản từ XML Schema.

0

Thử dự án protostuff-runtime-proto từ Github. Nếu bạn đã protostuff RuntimeSchema, bạn có thể chuyển nó sang file .proto bởi mã này:.

System.out.println(Generators.newProtoGenerator(schema).generate()); 
Các vấn đề liên quan