我无法解析通过 RabbitMQ 发送的协议缓冲区

I can't parse protocol buffer sent through RabbitMQ

我正在构建一个从 RabbitMQ 发送和接收消息的 Web 服务,它可以发送消息,另一端可以读取并进行解析。但是 Web 服务无法解析响应。我在网络服务中使用 protoc 3.12.3 和 Java Play Framework,使用消息的服务将用 C++ 编写,但我有两个模拟(Java 和 Python) 做同样的事情并给出同样的错误,我不知道该怎么办。

消息如下:

syntax = "proto3";

option optimize_for = LITE_RUNTIME;

import "Subject.proto";

message FacialVerificationRequest{

  string event_id = 1;

  Subject subject = 2;

}

message MatcherResult {
    string id_subject = 1;
    float matcher_score = 2;
}

message FacialVerificationResponse{

  enum ResponseType {
    SUCCESS = 0;
    ERROR = 1;
    NOT_FOUND = 2;
  }

  string message = 1;

  ResponseType type = 2;

  MatcherResult matcher_result = 3;
}

这是代码:

try{
    strResponse = rpcClient.call(facialRequest.toByteArray());
    System.out.println(strResponse);
    String value = new String(strResponse.getBytes(), StandardCharsets.UTF_8);

    Verification.FacialVerificationResponse response = Verification.FacialVerificationResponse.parseFrom(
                    strResponse.getBytes());

    System.out.println(response);
    }
catch (Exception e){
        e.printStackTrace();
    }

以及 StackTrace:

com.google.protobuf.InvalidProtocolBufferException$InvalidWireTypeException: Protocol message tag had invalid wire type.
    at com.google.protobuf.InvalidProtocolBufferException.invalidWireType(InvalidProtocolBufferException.java:111)
    at com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:557)
    at com.google.protobuf.GeneratedMessageV3.parseUnknownField(GeneratedMessageV3.java:320)
    at model.Verification$FacialVerificationResponse.<init>(Verification.java:1543)
    at model.Verification$FacialVerificationResponse.<init>(Verification.java:1473)
    at model.Verification$FacialVerificationResponse.parsePartialFrom(Verification.java:2403)
    at model.Verification$FacialVerificationResponse.parsePartialFrom(Verification.java:2397)
    at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:158)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:191)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:203)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:208)
    at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:48)
    at model.Verification$FacialVerificationResponse.parseFrom(Verification.java:1888)
    at controllers.VerificationController.index(VerificationController.java:36)
    [...]

我发送的是字符串的字节,而我应该发送的是 FacialVerificationResponse 的字节,所以这是错误。