发起方专用流程

Microsoft BizTalk Accelerator for RosettaNet (BTARN) 使用发起方专用进程 (PrivateInitiator.odx) 来处理发起方计算机上的服务内容。 这包括:

  • 创建原始消息的服务内容并将消息路由到公共进程(路由到贸易合作伙伴)

  • 处理返回信号消息并将其路由到业务线 (LOB) 应用程序

  • 对于双操作 PIP,处理响应返回消息并将其路由到 LOB 应用程序。

    专用进程还会设置元数据并添加任何附件。 专用进程将传出消息路由到公共进程,该进程 (RNIF) 标头添加 RosettaNet 实现框架,并准备要传输的消息。 专用进程将传入消息路由到 BTARNDATA SQL Server 数据库中的 MessagesToLOB 表,并路由到 LOB 应用程序。

    此专用流程自动执行使用 3A2 和 3A4 合作伙伴接口流程 (PIP) 的购买查询/采购订单过程。 它还处理任何其他 PIP 消息。 可以为特定业务流程自定义专用流程。

消息流

通过发起程序专用进程的消息流如下所示:

  1. 发起方专用进程从 BTARNDATA SQL Server 数据库中的 MessagesFromLOB 表接收原始消息。 后端 LOB 应用程序将消息路由到此表。

  2. 专用进程准备发起的消息的服务内容,并将其发送到公共进程。

  3. 然后,发起方专用进程进入等待状态,侦听返回信号。

  4. 从公共进程收到返回信号后,专用进程将构造一条信号消息,并将信号发送到 BTARNDATA SQL Server 数据库中的 MessagesToLOB 表,并路由到 LOB 应用程序。

  5. 专用进程向 LOB 应用程序发送通知,告知其将信号消息放入 MessagesToLOB 表中。

  6. 如果 RNIF 版本为 1.1,则专用进程将等待接受确认信号消息。 如果它收到信号,它将构造信号消息,并将信号发送到 MessagesToLOB 表,并路由到 LOB 应用程序。

  7. 如果原始消息 () 是单操作消息,则专用进程在将信号消息返回到 LOB 应用程序后完成。 如果原始消息是双重操作消息,则专用进程将侦听响应消息。

  8. 如果专用进程从公共进程接收响应消息,它将以 LOB 应用程序的格式构造响应消息。 这包括获取 LOB 消息模板、序列化 XML 服务内容,以及将 XML 消息部分加载到 LOB 消息中。

  9. 专用进程将消息路由到 BTARNDATA SQL Server 数据库中的 MessagesToLOB 表。

  10. 如果响应消息具有附件,则专用进程会调用 AttachmentHelper 工具来处理附件。

  11. 专用进程向 LOB 应用程序发送通知,告知它将响应消息放入 MessagesToLOB 表中,然后完成。

处理错误消息

当发起方专用进程从 LOB 应用程序收到错误消息时,专用进程会将异常消息发送回 LOB。 但是,专用进程不会在 bizTalk 管理控制台BizTalk Server发布错误消息。 因此,无法在 BizTalk 管理控制台中查看错误消息。 可以使用异常消息访问不正确的消息来确定哪个消息不正确,然后访问 BTARNDATA 数据库的 MessagesFromLOB 表中的错误消息。 但是,此消息可能与专用进程使用的消息不同,因为用于处理消息的存储进程和适配器会对其进行编辑。 向消息添加根元素和命名空间。 存储的进程和适配器可能会返回多个记录。

另请参阅

专用流程
响应方专用流程
业务流程示例
PrivateInitiator 示例