0

I'm trying to invoke the com.luxoft.blockchainlab.corda.hyperledger.indy.flow.b2b.GetDidFlowB2B flow on corda. But it throws

java.lang.NoClassDefFoundError: com/sun/jna/Callback
    at com.luxoft.blockchainlab.hyperledger.indy.helpers.WalletHelper.createNonExisting(WalletHelper.kt:38) ~[?:?]
    at com.luxoft.blockchainlab.hyperledger.indy.helpers.WalletHelper.openOrCreate(WalletHelper.kt:118) ~[?:?]
    at com.luxoft.blockchainlab.hyperledger.indy.helpers.WalletHelper.openOrCreate(WalletHelper.kt:132) ~[?:?]
    at com.luxoft.blockchainlab.corda.hyperledger.indy.service.IndyService$indyUser$2.invoke(IndyService.kt:50) ~[?:?]
    at com.luxoft.blockchainlab.corda.hyperledger.indy.service.IndyService$indyUser$2.invoke(IndyService.kt:25) ~[?:?]
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) ~[kotlin-stdlib-1.2.71.jar:1.2.71-release-64 (1.2.71)]
    at com.luxoft.blockchainlab.corda.hyperledger.indy.service.IndyService.getIndyUser(IndyService.kt) ~[?:?]
    at com.luxoft.blockchainlab.corda.hyperledger.indy.flow.FlowExtensionsKt.indyUser(FlowExtensions.kt:24) ~[?:?]
    at com.luxoft.blockchainlab.corda.hyperledger.indy.flow.b2b.GetDidFlowB2B$Authority.call(GetDidFlowB2B.kt:48) ~[?:?]
    at com.luxoft.blockchainlab.corda.hyperledger.indy.flow.b2b.GetDidFlowB2B$Authority.call(GetDidFlowB2B.kt:43) ~[?:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:349) ~[corda-node-4.8.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:71) ~[corda-node-4.8.jar:?]
    at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1105) ~[quasar-core-0.7.13_r3.jar:0.7.13_r3]
    at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:801) ~[quasar-core-0.7.13_r3.jar:0.7.13_r3]
    at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:102) ~[quasar-core-0.7.13_r3.jar:0.7.13_r3]
    at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:93) ~[quasar-core-0.7.13_r3.jar:0.7.13_r3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_171]
    at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_171]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) ~[?:1.8.0_171]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) ~[?:1.8.0_171]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_171]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_171]
    at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:63) ~[corda-node-4.8.jar:?]
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Callback
    at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_171]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_171]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_171]
    ... 23 more

on the other node that I try to get the DID of. I have already put jna-4.5.1.jar file to jre/lib and each node's djvm folders. But still I'm getting the CNF exception. Can anyone help on this?

Steps to reproduce

  1. Copied cordentity-cordapp-0.5.0 to PartyA and PartyB cordapp dirs
  2. Start indy-pool and created indy.properties files for each node
  3. Start the flow on a PartyB using flow start com.luxoft.blockchainlab.corda.hyperledger.indy.flow.b2b.GetDidFlowB2B$Initiator authority: "O=PartyA,L=London,C=GB"

1 Answers1

0

Was able to fix the issue by commenting exclude group: 'net.java.dev.jna', module: 'jna' on indy-utils