首页 > 解决方案 > Corda 白名单未更新

问题描述

我正在使用 Springboot RPC 网络服务器来运行我的 api。我已将 java.util.Date 放入白名单仍然抛出错误。

Class java.util.Date is not annotated or on the whitelist, so cannot be used in serialization

我创建了一个类

import net.corda.core.serialization.SerializationWhitelist

class RequiredSerializationWhitelist : SerializationWhitelist {
    override val whitelist: List<Class<*>> = listOf(java.util.Date::class.java)
}

并将文件 net.corda.core.serialization.SerializationWhitelist 放在 \src\main\resources\META-INF\services 中,代码如下

com.p2p.RequiredSerializationWhitelist

在部署节点时我得到

No existing whitelist file found.
Calculating whitelist for current installed CorDapps..
CorDapp whitelist generated in <path>\build\nodes\whitelist.txt
Updating whitelist
Bootstrapping complete!

当我在给定的路径中打开我的白名单文件时,只显示我的合同。我错过了什么。

标签: cordawhitelist

解决方案


我认为没有相同的白名单。\build\nodes\whitelist.txt 是 Corda 合约白名单类的文件。但是您的问题是 net.corda.core.serialization.SerializationWhitelist 应该在 META-INF/services 下的 JAR 文件中。你能在你的 JAR 文件中检查它,并且这个路径包含 SerializationWhitelist 文件吗?


推荐阅读