首页 > 解决方案 > 如何在corda flow start命令中传递map参数

问题描述

flow start TransactionRecoveryFlow report: {O=PartyB, L=New York, C=US=LedgerSyncFindings(missingAtRequester=[24DC1B1C6D8743988C5F4DE6725C64D4354B713D78F27E60CF03398B32657D57, FD3F0A5D8E03A9E8B79229B8271DCEDA691AE106A99F38E5F9F0408FB1F1BAFA, A997737DC3359FE7F3D15CB06E12EF347DA149328F263D2B35F99DA8F363EFCB], missingAtRequestee=[])}

我正在尝试通过命令行传递报告参数,该命令行是 "Map<Party, LedgerSyncFindings>" 类型的地图。如何从命令行向它传递值。

我在输出中遇到多个语法错误。

exception: while parsing a flow mapping in 'reader', line 1, column 11: { report: {O=PartyB, L=New York, C=US=Ledg ... ^ expected ',' or '}', but got [ in 'reader', line 1, column 77: ... SyncFindings(missingAtRequester=[24DC1B1C6D8743988C5F4DE6725C64D ... ^ at [Source: (StringReader); line: 1, column: 77] - while parsing a flow mapping in 'reader', line 1, column 11: { report: {O=PartyB, L=New York, C=US=Ledg ... ^ expected ',' or '}', but got [ in 'reader', line 1, column 77: ... SyncFindings(missingAtRequester=[24DC1B1C6D8743988C5F4DE6725C64D ... ^ at [Source: (StringReader); line: 1, column: 77] - while parsing a flow mapping in 'reader', line 1, column 11: { report: {O=PartyB, L=New York, C=US=Ledg ... ^ expected ',' or '}', but got [ in 'reader', line 1, column 77: ... SyncFindings(missingAtRequester=[24DC1B1C6D8743988C5F4DE6725C64D ... ^ [errorCode=1eyuahe, moreInformationAt=https://errors.corda.net/OS/4.5/1eyuahe]

标签: corda

解决方案


根据这个答案, alist是这样传递的:

flow start MyFlow listParam: [value1, value2]

按照上述方法, amap应该像这样传递:

flow start MyFlow mapParam: [key1:value1, key2:value2]

在您的代码示例中,您缺少[ ]地图周围的括号以及:键/值对之间的冒号。

另外,请注意在 shell 中传递对象的方式(请参见此处)。


推荐阅读