$$Error:交易对手在意外时间发送的会话拒绝消息,消息类流未注册



我想使用 oraclizer 进行外部服务调用。所以我正在尝试运行下面给出的示例文件:

示例 Oraclize

运行后,我收到一个错误——

交易对手在意外时间使用消息类 it.oraclize.cordapi.flows.OraclizeQueryFlow 发送会话拒绝消息,未注册

在流中,调用 OraclizeQueryAwaitFlow 流,而流又调用 OraclizeQueryFlow。在此流中,有一个发送和接收调用,其发生方式如下:

@InitiatingFlow
@StartableByRPC
class OraclizeQueryFlow (val datasource: String, val query: Any, val proofType: Int = 0, val delay: Int = 0) : FlowLogic<String>() {
companion object {
object PROCESSING : ProgressTracker.Step("Submitting the query.")
@JvmStatic
fun tracker() = ProgressTracker(PROCESSING)
@JvmStatic
val console = loggerFor<OraclizeQueryFlow>()
}
override val progressTracker = tracker()
fun console(a: Any) = loggerFor<OraclizeQueryFlow>().info(a.toString())
// start OraclizeQueryFlow datasource: "URL", query: "json(https://min-api.cryptocompare.com/data/price?fsym=USD&tsyms=GBP).GBP", proofType: 16, delay: 0
// start OraclizeQueryFlow datasource: identity, query: hello, proofType: 0, delay: 0
@Suspendable
override fun call(): String {
val oraclize = serviceHub.identityService
.wellKnownPartyFromX500Name(OraclizeUtils.getNodeName()) as Party
progressTracker.currentStep = PROCESSING
val session = initiateFlow(oraclize)
val query = Query(datasource, query, delay, proofType)
val queryId = session.sendAndReceive<String>(query).unwrap { it }
console("Query id: $queryId")
return queryId
}
}

在检查日志时,我碰巧发现发送和接收调用正在抛出此错误。

这是来自Oraclize的Mauro,你使用的是Corda的公共测试网吗?如果没有,您应该按照本指南使用我们的服务。如果您正在使用它,那么您应该等待几个工作日,因为我们仍在新的测试网上测试该服务。

相关内容

最新更新