最近在研究EOS区块链平台,Java开发应用程序通过sdk调用只能合约进行上链操作,过程中遇到点问题,区块链返回的问题描述如下:
{"code":500,"message":"Internal Service Error","error":{"code":0,"name":"exception","what":"unspecified","details":[{"message":"unknown key (boost::tuples::tuple<bool, eosio::chain::name, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>): (0 busiotrans)","file":"http_plugin.cpp","line_number":730,"method":"handle_exception"}]}}
我的应用程序报的错误信息是:
Exception in thread "main" client.exception.EosApiException: Internal Service Error: unspecified
at client.impl.EosApiServiceGenerator.executeSync(EosApiServiceGenerator.java:55)
at client.impl.EosApiRestClientImpl.getAccount(EosApiRestClientImpl.java:59)
at com.cmit.EosBusiotransDemo.controller.EosTransactionDemoController.pushTransaction(EosTransactionDemoController.java:243)
at com.cmit.EosBusiotransDemo.BusiotransDemo.main(BusiotransDemo.java:89)
在Java返回的异常信息中看到是在getAccount()方法出现的异常,知道是账户存在问题,到主机环境上使用cleos get account 命令查看相关账户信息后发现,当前测试环境已经没有指定的账户了,只能是重新部署了账户后才不会出现上述问题。
主要是我们的测试环境,因为有多项的用途,所以对账户的维护没有那么好。。。。