Как исправить ошибку «При анализе сообщения протокола ввод неожиданно завершился в середине поля»JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить ошибку «При анализе сообщения протокола ввод неожиданно завершился в середине поля»

Сообщение Anonymous »

Получение исключения InvalidProtocolBufferException: при анализе сообщения протокола ввод неожиданно завершился в середине поля. ошибка при синтаксическом анализе Protobuf

Не знаю, почему синтаксический анализ не удался, хотя я вижу результат, если вызываю метод response.getContentAsString() для объекта ответа.

мой файл Proto:

syntax = "proto2";
package com.test.protocol;

option java_package = "com.test.protocol.v1";
option java_outer_classname = "Test1";

message Test2 {
required int64 id = 1;
required string value = 2
}


Я написал API для возврата ответа Proto, который выглядит следующим образом

final Test2.Builder builder = TEST2.newBuilder();
builder.setId(1);
builder.setValue("1");
return builder.build();


Мой API вернет приведенный ниже результат

{"id": 1,"value": "1"}


Я пытаюсь вызвать API и проанализировать его обратно в Test2, как показано ниже

import com.test.protocol.v1.Test1.Test2;

final Test2 result = Test2.parseFrom(response.getContentAsByteArray());


получаю ошибку на предыдущем шаге. Если я отлаживаю и пытаюсь напечатать ответ.getContentAsString(), я получаю правильный вывод, как показано ниже, но синтаксический анализ не удался.

получаю ошибку на предыдущем шаге. р>

{"id": 1,"value": "1"}


Подробнее здесь: https://stackoverflow.com/questions/545 ... edly-in-th
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»