В моей Corda я пытаюсь вызвать поток, используя RPC, но я получаю эту ошибку при выполнении вызова, чтобы инициировать поток:
net.corda.core.flows.IllegalFlowLogicException: FlowLogicRef не может
быть построенным для FlowLogic типа
com.example.flow.PolicyFlow $ Initiator: из-за отсутствия конструктора для
аргументы: [class com.example.state.PolicyState]
Мой фрагмент показан ниже:
public SignedTransaction call() throws FlowException {
class SignTxFlow extends SignTransactionFlow {
private SignTxFlow(FlowSession otherPartyFlow, ProgressTracker progressTracker) {
super(otherPartyFlow, progressTracker);
}
@Override
protected void checkTransaction(SignedTransaction stx) {
requireThat(require -> {
ContractState output = stx.getTx().getOutputs().get(0).getData();
require.using("This must be an Policy transaction.", output instanceof PolicyState);
PolicyState policy = (PolicyState) output;
require.using("I won't accept Policy without a first Name.", (!(policy.getFirstName().equals(""))));
return null;
});
}
}
return subFlow(new SignTxFlow(otherPartyFlow, SignTransactionFlow.Companion.tracker()));
}
Функция для подключения RPC и инициирования потока приведена ниже:
Может кто-нибудь помочь мне с этим?