Эта услуга находится в пакете com.r3.corda.lib.accounts.workflows.services
, что означает, что она входит в accounts-workflows
CorDapp; поэтому вы должны включить этот CorDapp в вашу макетированную сеть, чтобы он устанавливался на ваших максируемых узлах:
// Setup network.
network = new MockNetwork(new MockNetworkParameters().withCordappsForAllNodes(ImmutableList.of(
TestCordapp.findCordapp("com.r3.corda.lib.tokens.contracts"),
TestCordapp.findCordapp("com.r3.corda.lib.tokens.workflows"),
TestCordapp.findCordapp("com.r3.corda.lib.tokens.money"),
TestCordapp.findCordapp("com.r3.corda.lib.tokens.selection"),
TestCordapp.findCordapp("com.r3.corda.lib.accounts.contracts"),
// This CorDapp has the missing service from your error message.
TestCordapp.findCordapp("com.r3.corda.lib.accounts.workflows"),
TestCordapp.findCordapp("com.r3.corda.lib.ci")))
В общем, если ваш узел должен выполнять некоторый код, вы должны установить этот код на этом узле; иначе как он сможет его запустить? Так что, если вы используете какую-то библиотеку (например, Библиотека учетных записей, Tokens SDK); тогда вы должны установить его на свой узел.