我试图通过创建事务来在Spring-boot Web服务器上测试我的Cordapp(使用Corda 4,gradle),但是遇到了一个错误,指出该节点找不到my.app.ContractState。
>我有三个模块:合同(持有合同和合同),工作流和弹簧。我已确保在我的build.gradle中将spring的工作流程和合同作为cordapp项目的依赖项。所有州都包含@CordaSerializable。
“ java.io.NotSerializableException:节点未找到my.app.state.contractState,请检查包含实现my.app.state.contractState的CorDapp的Node,并在其上类路径”
预期结果包括状态200以及已提交到分类账的交易摘要。
当我进行应该创建新事务的本地http调用(例如http://localhost:8088/create-txn)时,收到此错误,但仍无法解决此问题。还有其他人遇到这个问题吗?
答案 0 :(得分:0)
您的contract.jar是否在路径META-INF \ services \?下包含net.corda.core.serialization.SerializationWhitelist文件。 因为我曾经遇到此错误,但是在删除合同中的白名单文件后,它可以正常工作。 我认为net.corda.core.serialization.SerializationWhitelist应该只包含在flow.jar中。
答案 1 :(得分:0)
我能够解决此问题。我需要在deployNodes任务中将Contracts模块设置为默认的Cordapp项目。