How to deserialize the issue.pb in scanner-report?

I think I found the key position, the scanner-report’s corresponding pb file is here: sonar_report_issue
But when I use this proto to generate the library code and using the generated library code to parse the issues-*.pb report file, it yields some errors:

    Traceback (most recent call last):
  File ".\read_ws_issue.py", line 20, in <module>
    issue.ParseFromString(f.read())
  File "D:\Python27\lib\site-packages\google\protobuf\message.py", line 199, in ParseFromString
    return self.MergeFromString(serialized)
  File "D:\Python27\lib\site-packages\google\protobuf\internal\python_message.py", line 1145, in MergeFromString
    if self._InternalParse(serialized, 0, length) != length:
  File "D:\Python27\lib\site-packages\google\protobuf\internal\python_message.py", line 1195, in InternalParse
    raise message_mod.DecodeError('Field number 0 is illegal.')
google.protobuf.message.DecodeError: Field number 0 is illegal.

hmmmm, Could you help me work it out now~?