Hi there,
I have some trouble, unpacking an Any message from a protobuf message. Here is a description of what I did:
# we generate our proprietary message based on our proprietary proto-file
myMessageExtension = extension_pb2.GeneralContent_Extension()
myMessageExtension.fancyID = 345
myMessageExtension.fancyProjectDescription = "All awesome!"
# We generate a carrier message to push our proprietary message into the Any-extension of the official spec
some_any = any_pb2.Any()
some_any.Pack(myMessageExtension)
# Fourth, we push our proprietary message to the extension of the official standard
myMessage.extension.CopyFrom(some_any)
So far, so good.
But now I want to read the same extension:
# we now get the extension out of the protobuf
some_any2 = any_pb2.Any()
some_any2.CopyFrom(myMessage_rewrite.extension)
some_any2.Unpack(extension_pb2.GeneralContent_Extension())
print some_any2
print "---"
print myMessage_rewrite.extension
[type.googleapis.com/project.protobuf.extension.data.GeneralContent_Extension] {
fancyID: 345
fancyProjectDescription: "All awesome!"
}
---
[type.googleapis.com/project.protobuf.extension.data.GeneralContent_Extension] {
fancyID: 345
fancyProjectDescription: "All awesome!"
}
Hi all,
I am still having this issue? Could anyone find a solution for that our give me a hint?
Thanks,
Timm
In for 4th step, you need to create your message before unpack. Please try:
some_any2 = any_pb2.Any()
some_any2.CopyFrom(myMessage_rewrite.extension)
unpacked_msg = extension_pb2.GeneralContent_Extension())
some_any2.Unpack(unpacked_msg)
Closing it for clean up. Feel free to reopen if it is still an issue
Hi Anandolee!
Thanks for the help. It now works just fine!
Best,
Timm
Most helpful comment
In for 4th step, you need to create your message before unpack. Please try:
some_any2 = any_pb2.Any()
some_any2.CopyFrom(myMessage_rewrite.extension)
unpacked_msg = extension_pb2.GeneralContent_Extension())
some_any2.Unpack(unpacked_msg)
Closing it for clean up. Feel free to reopen if it is still an issue