响应方上的此公共进程从发起方接收 RosettaNet 实现框架 (RNIF) 消息,并做出相应的响应。
响应方公共进程中的消息流
通过响应方公共进程的消息流如下所示:
响应方公共进程从响应方 MessageBox 数据库接收 RNIF 消息。
公共进程从操作消息中提取服务内容和标头,并将其发送到专用进程。
注意
响应方公共进程对传入消息 (以及验证适配器中包含的任何其他验证(如果适用) )执行标准验证。 如果验证成功,则公共进程将启动应用程序适配器,以根据特定实现执行通知。 响应方公共进程会将消息保存在 MessageBox 数据库中,并通知响应方专用进程,它已使用
BeginNotify
类) 中的 方法将消息保存在 MessageBox (中ApplicationAdapter
。 有关验证适配器和应用程序适配器的详细信息,请参阅 ValidationAdapter [RN3] 和 ApplicationAdapter [RN3]。如果活动是异步的且单一操作,则公共进程会构造一个 RNIF 信号消息 (确认接受) ,方法是将服务内容消息部分包装为 RNIF 2.01 的序言、服务标头和 (,仅) 传递标头。 公共进程使用双方之间的贸易合作伙伴协议中存储的信息构造前言、服务标头和传递标头:进程配置设置、有关源方和目标方的配置信息,以及合作伙伴接口进程 (PIP) 变量。 然后,进程将信号消息发送到发起程序。
注意
如果消息是单操作消息,则消息流完成。
公共进程进入等待状态 (响应方专用进程) 的操作。
以下操作可以结束等待状态, (响应方专用进程) 等待操作:
响应方专用进程返回响应服务内容消息和标头,以响应原始操作消息 (,该消息是双操作消息) 。
如果公共进程从专用进程接收响应服务内容,则公共进程将构造包含服务内容的 RNIF 消息。 它通过将服务内容消息部分包装在一起,其中包含有关源和目标参与方的配置信息以及双方之间协议中存储的 PIP 变量的标头。
公共进程使用操作/信号角色链接端口将 RNIF 消息发送到发起程序。
如果公共进程收到Microsoft BizTalk Accelerator for RosettaNet (BTARN) 未成功发送邮件的通知,则公共进程会将该状态发送回专用进程,然后结束。
如果公共进程收到 BTARN 成功发送消息的通知,则进程将进入等待状态, (等待发起方) 的操作。 此等待状态类似于发起程序在等待响应方操作时进入的等待状态。
公共进程从发起程序接收失败通知消息 (NoF) 。
注意
响应方专用进程将在成功处理传入消息后通知响应方公共进程。 只有在响应方公共进程收到来自
EndNotify
类) 方法ApplicationAdapter
(此通知后,响应方公共进程才会成功完成。响应方公共进程进入等待状态, (等待接收来自发起程序的信号,以响应响应方公共进程) 发送的响应消息。