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

Corda $$错误:交易对手在意外时间发送的会话拒绝消息,未注册消息类流,corda,Corda,我想使用oraclizer进行外部服务呼叫。因此,我尝试运行下面给出的示例文件: 运行后,我得到一个错误-- 交易对手在意外时间发送了会话拒绝消息,消息类it.oraclize.cordapi.flows.OraclizeQueryFlow未注册 在流中,将调用OraclizeQueryWaitFlow流,该流反过来调用OraclizeQueryFlow。在此流中,有一个sendAndReceive调用,其发生方式如下: @InitiatingFlow @StartableByRPC cla

我想使用oraclizer进行外部服务呼叫。因此,我尝试运行下面给出的示例文件:

运行后,我得到一个错误--

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

在流中,将调用OraclizeQueryWaitFlow流,该流反过来调用OraclizeQueryFlow。在此流中,有一个sendAndReceive调用,其发生方式如下:

@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
}
}
@InitiatingFlow
@星表
类OraclizeQueryFlow(val数据源:String,val查询:Any,val校对类型:Int=0,val延迟:Int=0):FlowLogic(){
伴星{
对象处理:ProgressTracker.Step(“提交查询”)
@JvmStatic
fun tracker()=ProgressTracker(处理)
@JvmStatic
val console=loggerFor()
}
重写val progressTracker=tracker()
乐趣控制台(a:Any)=loggerFor().info(a.toString())
//启动OraclizeQueryFlow数据源:“URL”,查询:“json”(https://min-api.cryptocompare.com/data/price?fsym=USD&tsyms=GBP).GBP”,校对类型:16,延迟:0
//启动OraclizeQueryFlow数据源:标识,查询:hello,校对类型:0,延迟:0
@暂停
重写有趣的调用():字符串{
val oraclize=serviceHub.identityService
.WellKnownPartyFromX500名称(OraclizeUtils.getNodeName())作为参与方
progressTracker.currentStep=处理
val会话=initiateFlow(oraclize)
val query=查询(数据源、查询、延迟、校对类型)
val queryId=session.sendandereceive(查询).unwrap{it}
控制台(“查询id:$queryId”)
返回查询ID
}
}

在检查日志时,我碰巧发现sendAndReceive调用抛出了此错误。

我是Oraclize的Mauro,您正在使用Corda的公共测试网吗?如果没有,您应该遵循此操作才能使用我们的服务。如果您正在使用它,那么您应该等待两个工作日,因为我们仍在新的testnet上测试该服务