Hi,

I am building an application using Sitewhere in which the message exchange 
between device and the server is done using Protocol Buffer format. The 
server sends a command to the device after converting the message in this 
format, but at the device end when the bytes array is converted to get the 
command, following exception is thrown:

 com.google.protobuf.InvalidProtocolBufferException: Protocol message 
contained an invalid tag (zero).
     at 
com.google.protobuf.CodedInputStream.readTag(CodedInputStream.java:108)
     at 
com.sitewhere.android.generated.Android$AndroidSpecification$_Header.<init>(Android.java:212)
     at 
com.sitewhere.android.generated.Android$AndroidSpecification$_Header.<init>(Android.java:203)
     at 
com.sitewhere.android.generated.Android$AndroidSpecification$_Header$1.parsePartialFrom(Android.java:255)
     at 
com.sitewhere.android.generated.Android$AndroidSpecification$_Header$1.parsePartialFrom(Android.java:1)
     at 
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:200)
     at 
com.google.protobuf.AbstractParser.parsePartialDelimitedFrom(AbstractParser.java:241)
     at 
com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:253)
     at 
com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:259)
     at 
com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:49)
     at 
com.sitewhere.android.generated.Android$AndroidSpecification$_Header.parseDelimitedFrom(Android.java:410)
     at 
com.sitewhere.android.example.SiteWhereExample.onReceivedCustomCommand(SiteWhereExample.java:273)
     at 
com.sitewhere.android.SiteWhereActivity$SiteWhereResponseProcessor.receivedCustomCommand(SiteWhereActivity.java:231)
     at 
com.sitewhere.android.mqtt.RegistrationManager.onCustomCommandReceived(RegistrationManager.java:112)
     at 
com.sitewhere.android.mqtt.DefaultMqttInteractionManager$MqttMessageProcessor.run(DefaultMqttInteractionManager.java:139)
     at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)

I have no clue what is the meaning of "Protocol message contained an 
invalid tag (zero)". Please help. The byte array received from the server 
is: 

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to