当前位置: 首页 > 知识库问答 >
问题:

在反序列化响应时使用grpc流失败

翟青青
2023-03-14

我们正在尝试使用具有net core后端的流,但出现反序列化错误

"grpc":{2 items
    "method":string"*****"
    "error":{2 items
    "code":int2
    "message":string"Error in response deserializer function."
  }
}

协议是版本3.14.0 grpc-web-gen是1.2.1

生成客户端的命令是:协议-我=。/原型。/原型/*. proto-js_out=import_style=通用js,二进制:。/dist--grpc-web_out=import_style=通用js dts,模式=grpcwebtext:。/dist

我们成功连接到endpoint并检索数据,并且调用在绑定使用response.getMessage()时失败,因为没有其他错误消息,调试不是很简单,欢迎深入了解可能导致此错误的原因:)

非常感谢。

共有1个答案

晋鹤轩
2023-03-14

我在gRPC Web上遇到了同样的错误,因为我复制了示例,却没有意识到getMessage()不是框架API的一部分,而是示例Pro buf定义中的消息字符串字段。

尝试直接使用响应(或使用对象()序列化)

var stream = echoService.serverStreamingEcho(streamRequest, metadata);
stream.on('data', function(response) {
  console.log(response.toObject());
});
 类似资料:
  • 希, 我所拥有的: 公开课myPojo 我想要的是,如果Map中的一个字段不满足POJO,则使从Map到POJO的转换失败(抛出异常)。 它似乎不能使用DeserializationFeature进行任何类型的配置。我试图调整所有与空字段有关的配置

  • 从我的Java后端,我正在使用另一个我不管理的后端,它的API定义不可用。我正在创建它的服务的OpenAPI定义,并使用Swagger Codigen来生成客户端。 有一个endpoint返回一个复杂对象: 在该对象中,和始终存在,但在同一级别上有数百个动态项。在上面的示例中,关键点是可以预测的,但实际上是字母和数字的序列,类似于“245df921”。动态项始终是具有相同项数和相同预期位置的数组。

  • 我有一个Micronaut应用程序,可以构建到GraalVM原生映像中。当我从正常的角度运行应用程序时(也就是说,不使用Graal),它运行得非常好。 但是,当我尝试从Graal运行时,在尝试将字符串反序列化到枚举中时,会出现以下运行时异常: 作为参考,我的反序列化程序如下所示: 我想我可能需要为Graal添加一些自定义反射配置,但我不太确定。有人能在这里透露一些信息吗?

  • 我正在使用Jackson的注释生成漂亮的对象图。 瞬态物体有解决方案吗?

  • 问题内容: 我正在读取Gson的JSON响应,该响应返回somtimes a,因为期望值设置为空字符串。现在,我想知道处理这种异常的最佳方法是什么。如果该值为空字符串,则反序列化应为0。 预期的JSON响应: 但是有时运行时是一个空字符串: java类如下所示: 反序列化是这样的: 因为返回一个空String而不是一个int值,所以抛出a 。 有没有办法告诉Gson:“ 如果反序列化Type 的字