尝试获取主模块包 ID 的 InvalidProtocolBufferException
InvalidProtocolBufferException trying to get main module package id
我正在尝试使用 java 分类帐 api 并基于 ping pong 示例来设置应用程序。但是,方法 "containsModule" 抛出异常:
InvalidProtocolBufferException.java
"Protocol message had too many levels of nesting. May be malicious. Use CodedInputStream.setRecursionLimit() to increase the depth limit."
这一行:
//parse the archive payload
DamlLf.ArchivePayload payload = DamlLf.ArchivePayload.parseFrom(getPackageResponse.getArchivePayload());
你能帮忙解决一下吗?
谢谢
通常,包太大,protobuf 无法消化。根据错误提示,您可以明确设置递归限制,例如
CodedInputStream cos =
CodedInputStream.newInstance(getPackageResponse.getArchivePayload());
cos.setRecursionLimit(1000);
DamlLf.ArchivePayload payload = DamlLf.ArchivePayload.parser().parseFrom(cos);
我们将修复该示例,感谢您指出这一点。
我正在尝试使用 java 分类帐 api 并基于 ping pong 示例来设置应用程序。但是,方法 "containsModule" 抛出异常:
InvalidProtocolBufferException.java "Protocol message had too many levels of nesting. May be malicious. Use CodedInputStream.setRecursionLimit() to increase the depth limit."
这一行:
//parse the archive payload
DamlLf.ArchivePayload payload = DamlLf.ArchivePayload.parseFrom(getPackageResponse.getArchivePayload());
你能帮忙解决一下吗? 谢谢
通常,包太大,protobuf 无法消化。根据错误提示,您可以明确设置递归限制,例如
CodedInputStream cos =
CodedInputStream.newInstance(getPackageResponse.getArchivePayload());
cos.setRecursionLimit(1000);
DamlLf.ArchivePayload payload = DamlLf.ArchivePayload.parser().parseFrom(cos);
我们将修复该示例,感谢您指出这一点。