当我们尝试启动corda webservice时,我们的一个节点出错:
我们收到以下错误:
[ERROR] 2018-04-06T10:54:45,575Z [main] Main.main - 节点启动期间的异常
net.corda.client.rpc.RPCException:请指定PageSpecification
,因为结果[201]比默认页面大小[200]更多
在net.corda.client.rpc.internal.RPCClientProxyHandler.invoke(RPCClientProxyHandler.kt:234)〜[corda-rpc-2.0.0.jar:?]
在com.sun.proxy。$ Proxy23.vaultTrack(未知来源)〜[?:?]
在com.legalcontract.api.LegalContractApi。(LegalContractApi.kt:73)〜[kotlin-source.jar:?]
在com.legalcontract.plugin.LegalContractPlugin $ webApis $ 1.invoke(LegalContractPlugin.kt:18)〜[kotlin-source.jar:?]
在com.legalcontract.plugin.LegalContractPlugin $ webApis $ 1.invoke(LegalContractPlugin.kt:12)〜[kotlin-source.jar:?]
at com.legalcontract.plugin.LegalContractPluginKt $ sam $ Function $ b4d51671.apply(LegalContractPlugin.kt)〜[kotlin-source.jar:?]
在net.corda.webserver.internal.NodeWebServer.buildServletContextHandler(NodeWebServer.kt:147)〜[corda-webserver-impl-2.0.0.jar:?]
在net.corda.webserver.internal.NodeWebServer.initWebServer(NodeWebServer.kt:75)〜[corda-webserver-impl-2.0.0.jar:?]
在net.corda.webserver.internal.NodeWebServer.start(NodeWebServer.kt:45)〜[corda-webserver-impl-2.0.0.jar:?]
在net.corda.webserver.WebServer.main(WebServer.kt:64)[corda-webserver-impl-2.0.0.jar:?]
引起:net.corda.core.node.services.VaultQueryException:请指定PageSpecification
,因为结果[201]比默认页面大小[200]
你知道可能是什么问题吗?
谢谢!
答案 0 :(得分:1)
当查询保管库并返回太多结果时,存在快速失败模式,以防止保险库查询一次加载数千或数百万个状态。
请参阅https://docs.corda.net/api-vault-query.html#pagination。
您必须按如下方式指定分页:
val vaultSnapshot = proxy.vaultQueryBy<ContractState>(
QueryCriteria.VaultQueryCriteria(Vault.StateStatus.UNCONSUMED),
PageSpecification(DEFAULT_PAGE_NUM, 200))