Не удалось десериализовать ответ RPC. Запрашиваемые интерфейсы должны состоять только из методов, начинающихся с 'get', [corda] errorCode 15rlwi0 - PullRequest
0 голосов
/ 17 декабря 2018

Я играю с небольшим проектом, полученным отсюда: https://github.com/corda/cash-issuer.

Это репо основано на неизданной версии Corda 4.0 (Снимок).Я написал небольшой скрипт для выдачи наличных через RPC-клиент, который работал нормально.Я могу запросить хранилище из интерактивной оболочки и получить правильный результат:

run vaultQuery contractStateType: net.corda.finance.contracts.asset.Cash$State
states:
- state:
    data: !<net.corda.finance.contracts.asset.Cash$State>
      amount: "10000.00 EUR issued by O=PartyA, L=New York, C=US[01]"
...

Однако он не может выполнить тот же запрос в API, размещенном на встроенном веб-сервере:

@GET
@Path("balances")
@Produces(MediaType.APPLICATION_JSON)
fun getBalances() : List<Cash.State> {
    return rpcOps.vaultQueryBy<Cash.State>().states.map{it.state.data}
}

не удается с

[ERROR] 19:21:57+0100 [Thread-3 (ActiveMQ-client-global-threads)] internal.RPCClientProxyHandler.artemisMessageHandler - Failed to deserialize RPC body [errorCode=15rlwi0, moreInformationAt=https://errors.corda.net/OS/4.0-SNAPSHOT/15rlwi0]
Failed to deserialize RPC reply: net.corda.core.utilities.Try$Success (erased) -> value(*) -> net.corda.finance.contracts.asset.Cash$State: Requested interfaces must consist only of methods that start with 'get': net.corda.core.contracts.FungibleAsset.withNewOwnerAndAmount

Я на Windows10, ничего особенного.

1 Ответ

0 голосов
/ 03 января 2019

Как отмечает Tbltzk, это ошибка, которая была исправлена ​​как часть r3-cev.atlassian.net/browse/CORDA-2330.

Релиз-снимки Corda проходят меньше испытаний, чем официальные, и поэтомуболее вероятно, содержат ошибки.

...