【问题标题】:Corda service does not exist when running flow on local network created by driver (NodeDriver.kt)在由驱动程序(NodeDriver.kt)创建的本地网络上运行流时,Corda 服务不存在
【发布时间】:2018-04-12 00:28:12
【问题描述】:

在访问 cordapp 流中的服务时出现以下异常

java.lang.IllegalArgumentException: Corda 服务 com.example.services.MyService 不存在

我正在使用cordaV2并尝试使用

编辑NodeDriver.kt

驱动程序(isDebug = true,extraCordappPackagesToScan = listOf("com.example.services"))

但没用。

我如何更新它在从 NodeDriver.kt 创建的网络上本地运行的 cordApp 代码并且它不会引发此异常!

【问题讨论】:

  • 我还尝试在 build.gradle 的 deployNodes 任务下将我的服务添加为广告服务,例如节点{名称“CN=NodeD,O=NodeD,L=New York,C=US”advertisingServices = [“com.example.services.MyService”] p2pPort 10014 rpcPort 10015 webPort 10016 cordapps = [] rpcUsers = [[用户: "user1", "password": "test", "permissions": []]] } 它也无济于事
  • 看看这个例子:github.com/corda/oracle-example。从节点驱动程序运行时,oracle 加载良好,无需设置额外的包进行扫描。问题必须在您的代码中的其他地方。

标签: corda


【解决方案1】:

我重新检查了我的代码并意识到我没有在我的服务类中使用 ServiceHub 参数。添加后它已修复。

class MyService(val services: ServiceHub) : SingletonSerializeAsToken()

【讨论】:

    猜你喜欢
    • 2019-09-26
    • 2012-01-30
    • 1970-01-01
    • 2018-08-07
    • 2019-03-13
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多