我正在尝试使用Java分类帐api并根据乒乓球示例设置一个应用程序。但是,方法“ containsModule”抛出异常:
InvalidProtocolBufferException.java “协议消息具有太多级别的嵌套。可能是恶意的。请使用CodedInputStream.setRecursionLimit()来增加深度限制。”
在此行:
//parse the archive payload
DamlLf.ArchivePayload payload = DamlLf.ArchivePayload.parseFrom(getPackageResponse.getArchivePayload());
您能帮忙吗? 谢谢。
答案 0 :(得分:1)
通常,程序包太大,protobuf无法消化。根据错误提示,您可以明确设置递归限制,例如
CodedInputStream cos =
CodedInputStream.newInstance(getPackageResponse.getArchivePayload());
cos.setRecursionLimit(1000);
DamlLf.ArchivePayload payload = DamlLf.ArchivePayload.parser().parseFrom(cos);
我们将修复该示例,感谢您指出这一点。