你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure 逻辑应用在 B2B 工作流中交换 RosettaNet 消息

适用于:Azure 逻辑应用(消耗型 + 标准型)

若要在使用 Azure 逻辑应用创建的工作流中发送和接收 RosettaNet 消息,请使用 RosettaNet 连接器。 此连接器提供支持和管理遵循 RosettaNet 标准的通信的操作。 这些标准通常用于供应链过程,并在半导体、电子和物流行业中广泛运用。 RosettaNet 基于 XML,它定义了消息准则、业务过程的接口,以及公司间的通信实施框架。

RosettaNet 连接器提供以下功能:

  • 接收和解码 RosettaNet 消息。
  • 发送和编码 RosettaNet 消息。
  • 等待响应和“失败通知”的生成。

本指南简要概述了 RosettaNet,并演示如何将 RosettaNet 的编码和解码作添加到现有逻辑应用工作流。 RosettaNet 连接器不提供任何触发器,因此可以使用任何触发器启动工作流。 本指南中的示例使用了请求触发器

了解 RosettaNet 概念

RosettaNet 是一个组织,它建立了用于共享业务信息的标准流程。 此组织创建和维护合作伙伴接口流程(PIP),它们为所有 RosettaNet 消息交换提供常见的业务流程定义。 有关详细信息,请访问 RosettaNet 网站

RosettaNet 连接器基于 RosettaNet 实现框架 (RNIF) 版本 2.0.01,并支持此版本定义的所有 PIP。 RNIF 是一个开放的网络应用程序框架,可帮助业务合作伙伴协作运行 RosettaNet PIP。 此框架定义了消息结构、确认需求、多用途 Internet 邮件扩展 (MIME) 编码和数字签名。 合作伙伴之间的通信可以是同步的,也可以是异步的。

下表介绍了 RosettaNet 概念和术语:

概念 说明
PIP PIP 为所有 RosettaNet 消息交换提供常见的业务流程定义。 PIP 按高级业务功能、 群集和子功能或 细分类别进行分类。 例如,“3A4”是表示“采购订单”的 PIP,“3”表示“订单管理”功能,而“3A”是“报价和订单输入”子功能。

每个 PIP 规范提供文档类型定义 (DTD) 文件和消息准则文档。 DTD 文件定义服务内容消息结构。 消息指南文档是一个可读 HTML 文件,用于指定元素级约束。 PIP 和 DTD 文件一起提供业务流程的完整定义。

有关详细信息,请访问 RosettaNet 网站
操作 操作消息是 PIP 的一部分,是合作伙伴相互交换的商业业务信息。
信号 信号消息是 PIP 的一部分,是针对操作消息发送的确认。
单操作和双操作 对于具有单个动作的 PIP,唯一的响应是确认信号消息。 对于双操作 PIP,发起方将接收响应消息,并使用确认以及单操作消息流做出回复。

连接器技术参考

RosettaNet 连接器具有不同的版本,具体取决于 逻辑应用类型和主机环境

逻辑应用 环境 连接器版本
消耗 多租户 Azure 逻辑应用 RosettaNet 托管连接器,该连接器显示在 “共享”下的连接器库中。 RosettaNet 连接器仅提供操作。 可以使用任何适合您方案的触发器。 有关详细信息,请参阅:

- RosettaNet 操作
- B2B 协议的消息大小限制
Standard 单租户 Azure 逻辑应用、应用服务环境 v3(仅限 Windows 计划)和混合部署 RosettaNet 内置连接器,该连接器显示在 内置连接器库中。 RosettaNet 连接器仅提供操作。 可以使用任何适合您方案的触发器。

内置连接器可以直接访问 Azure 虚拟网络。 不需要本地数据网关。

有关详细信息,请参阅:

- RosettaNet 操作
- B2B 协议的消息大小限制

RosettaNet 操作

RosettaNet 连接器没有触发器。 下表描述了 RosettaNet 连接器提供的用于在传输消息时建立安全性和可靠性的操作:

操作 说明
RosettaNet Encode 使用遵循 RosettaNet 标准的编码发送 RosettaNet 消息。
RosettaNet 解码 使用遵循 RosettaNet 标准的解码接收 RosettaNet 消息。
RosettaNet 等待响应 让主方等待来自接收方的 RosettaNet 响应或信号消息。

Prerequisites

  • Azure 帐户和订阅。 获取免费的 Azure 帐户

  • 要在其中使用 RosettaNet 操作的逻辑应用资源和工作流。

    工作流需要最适合您场景的任何触发器以及在添加 RosettaNet 操作之前要运行的任何其他操作。

    有关详细信息,请参见:

  • 一个集成帐户资源,用于定义和存储可在企业集成与 B2B 工作流中使用的项目。

    • 集成帐户和逻辑应用资源必须存在于同一 Azure 订阅和 Azure 区域中。

    • 至少定义两个在参与工作流中使用的 RosettaNet 操作的参与方。 两个合作伙伴定义都必须使用相同的 业务标识限定 符,即 DUNS

      重要说明

      请务必选择在限定符列表底部附近找到的DUNS,而不是1 - D-U-N-S(Dun & Bradstreet)

    • 包含存储所有 PIP 配置特征的 PIP 进程配置 。 在合作伙伴之间创建协议时,请使用此配置。 如果没有进程配置, 请添加 PIP 进程配置

    • 定义参与 RosettaNet运营的贸易伙伴之间的 RosettaNet 协议。 协议需要主办方合作伙伴和客方合作伙伴。 合作伙伴之间的消息中的内容必须与协议类型匹配。 请参阅 创建 RosettaNet 协议

  • 在开始使用 RosettaNet 操作之前,必须将您的消费逻辑应用标准逻辑应用链接到集成帐户。

  • 用于对上传到集成帐户的消息进行加密、解密或签名的可选证书。 仅当使用签名或加密时,证书才是必需的。

添加 PIP 进程配置

如果集成帐户没有 PIP 进程配置,请按照以下步骤添加配置:

  1. Azure 门户中,转到集成帐户资源。

  2. 在资源边栏的 “设置”下,选择 “RosettaNet PIP”。 在 RosettaNet PIP 页面工具栏上,选择“ 添加”。

  3. “添加合作伙伴接口流程 ”窗格中,输入以下 PIP 信息:

    参数 必选 说明
    名称 PIP 名称。
    PIP 代码 三个字符的 PIP 代码。 有关详细信息,请参阅 RosettaNet PIP
    PIP 版本 PIP 版本,具体取决于所选的 PIP 代码。

    有关详细信息,请访问 RosettaNet 网站

    以下示例显示了 PIP 进程配置的示例信息:

    屏幕截图显示了 Azure 门户、集成帐户资源和 RosettaNet PIP 页,其中选择了“添加”。“添加合作伙伴接口进程”窗格包含名称、代码和版本的框。

  4. 完成后,选择“确定”以创建 PIP 配置。

  5. 若要查看或编辑进程配置,请选择 PIP。 在 RosettaNet PIP 页面工具栏上,选择“ 编辑为 JSON”。

    此屏幕截图显示了 RosettaNet PIP 页面,其中选择了一个 PIP,并且选择了“作为 JSON 进行编辑”。JSON 编辑器显示了编码的 PIP 设置。

    所有过程配置设置都来自 PIP 规范。 默认情况下,Azure 逻辑应用使用默认值填充大多数设置,具体取决于最常用的值。

  6. 确认设置值对应于相应 PIP 规范中的值,并满足业务需求。 如有必要,请在 JSON 编辑器中更新值并保存更改。

  7. 完成后,请选择“确定”。

创建 RosettaNet 协议

如果集成帐户没有 RosettaNet 协议,请按照以下步骤创建协议:

  1. Azure 门户中,转到集成帐户资源。

  2. 在资源边栏的 “设置”下,选择“ 协议”。 在 “协议 ”页工具栏上,选择“ 添加”。

  3. “添加 ”窗格中,输入以下协议信息:

    参数 必选 说明
    名称 协议名称。
    协议类型 协议的协议类型。 选择“RosettaNet”
    主方合作伙伴 表示贵组织的主方合作伙伴的名称。 协议需要有主机和客方合作伙伴。
    主机标识 主机合作伙伴标识符。
    客方合作伙伴 与主方合作伙伴有业务往来的客方合作伙伴的名称。 协议需要有主机和客方合作伙伴。
    来宾标识 客户合作伙伴标识符。
    接收设置 不定 适用于主方合作伙伴从客方合作伙伴接收到的所有消息的属性。
    发送设置 不定 应用于主方合作伙伴发送给客方合作伙伴的所有消息的属性。
    RosettaNet PIP 引用 协议的 PIP 引用。 所有 RosettaNet 消息都需要 PIP 配置。

    以下示例显示了 RosettaNet 协议的示例信息:

    屏幕截图显示了“协议”页,其中包含“添加所选内容”和“协议信息”。

  4. 若要指定主机合作伙伴如何从来宾合作伙伴接收消息,请在“添加”窗格中,选择“接收设置”。

    接收设置” 窗格显示以下设置:

    设置 必选 说明
    应对消息进行签名 使用所选证书登录传入消息。
    证书 是(如果已启用签名) 用于签名的证书。
    启用消息加密 使用所选证书加密传入消息。
    证书 是(如果已启用加密) 用于加密的证书。
    1. 若要为传入消息启用签名、加密或同时启用两者,请在“ 消息”下选择“ 消息”进行签名应加密消息,或同时对消息进行加密

    2. 在每个选定的设置下,从 “证书 ”列表中选择集成帐户中的 证书 ,以便用于签名、加密或两者兼有。

    以下示例显示了 “接收设置” 窗格中的签名和加密设置:

    屏幕截图显示了“接收设置”窗格,其中包含用于签名和加密消息和输入证书的选项。

  5. 完成后,请选择“确定”。

  6. 若要指定主机合作伙伴如何向来宾合作伙伴发送消息,请在“添加”窗格中,选择“发送设置”。

    发送设置” 窗格显示以下设置:

    设置 必选 说明
    启用消息签名 使用所选签名算法和证书对传出消息进行签名。
    签名算法 是(如果已启用签名) 要使用的签名算法,基于所选证书。
    证书 是(如果已启用签名) 用于签名的证书。
    启用消息加密 使用所选加密算法和证书加密传出消息。
    加密算法 是(如果已启用加密) 要使用的加密算法,基于所选证书。
    证书 是(如果已启用加密) 用于加密的证书。
    1. 若要为传出消息启用签名、加密或同时启用两者,请在“ 消息”下选择“ 启用消息签名”、“ 启用消息加密”或同时启用两者。

    2. 在每个所选设置下,从算法列表中选择要使用的算法。 从 “证书 ”列表中选择集成帐户中的 证书 ,以便用于签名、加密或两者。

    3. 终结点 部分中,指定发送操作消息和确认所需的 URL:

      参数 必选 说明
      操作 URL 用于发送操作消息的 URL。 同步消息和异步消息都需要此 URL。
      确认 URL 用于发送确认消息的 URL。 异步消息需要此 URL。

      以下示例显示了“ 发送设置” 窗格中具有一些示例值的签名、加密和终结点 URL 设置:

      屏幕截图显示了“发送设置”窗格,其中包含用于签名和加密消息以及输入算法、证书和终结点 URL 的选项。

  7. 完成后,请选择“确定”。

  8. 若要为协议指定 RosettaNet PIP 引用,请在 “添加 ”窗格中,选择 RosettaNet PIP 引用

    RosettaNet PIP 引用页显示之前创建和添加的 PIP 进程配置。

    1. “PIP 名称 ”列中,打开列表,然后选择 PIP。

      显示只有一行的 PIP 信息表的屏幕截图。该行包含除已选中的名称 MyPIPConfig 以外的默认值。

      所做的选择会填充剩余的属性,这些属性基于集成帐户中的 PIP。

      屏幕截图显示了包含 PIP 信息的表,其中名为 MyPIPConfig 的 PIP 行显示信息。

    2. 如果需要,可以更改“PIP 角色”

  9. 继续到下一部分以接收 RosettaNet 消息。

接收和解码 RosettaNet 消息

  1. Azure 门户中,打开你的逻辑应用资源。 在设计器中打开工作流。

    在添加 RosettaNet 动作之前,工作流应已有一个触发器和要运行的任何其他动作。

  2. 按照以下 常规步骤 将 RosettaNet 解码作添加到工作流。

  3. 在操作信息窗格中,提供以下值:

    参数 必选 说明
    消息 要解码的 RosettaNet 消息。
    标头 以键值对形式提供版本和响应类型的值的 HTTP 标头。 版本为 RNIF. 响应类型描述合作伙伴通信类型,可以是同步通信类型,也可以是异步的。
    角色 PIP 中的主机合作伙伴角色。

    屏幕截图显示了 RosettaNet 解码操作,其中包含解码、标头和角色的消息框。

RosettaNet 解码操作的输出包括 出站信号 值。 可以对此输出进行编码并将其返回到来宾合作伙伴,或者对此输出执行其他操作。

发送和编码 RosettaNet 消息

  1. Azure 门户中,打开你的逻辑应用资源。 在设计器中打开工作流。

    在添加 RosettaNet 操作之前,工作流应已经有一个触发器,并且包括要运行的任何其他操作。

  2. 按照以下 常规步骤 将 RosettaNet 编码动作添加到工作流。

  3. 在操作信息窗格中,提供以下值:

    参数 必选 说明
    RosettaNet 进程 (PIP) 实例标识 要编码的消息的实例 ID。
    主方合作伙伴 主机伙伴名称。
    客方合作伙伴 来宾合作伙伴名称。
    PIP 代码 PIP 代码。
    PIP 版本 PIP 版本。
    PIP 实例标识 此 PIP 消息的唯一标识符。
    消息类型 要编码的消息的类型。
    角色 主机合作伙伴角色。

    屏幕截图显示了 RosettaNet 编码操作,其中包含消息框、合作伙伴框、PIP 信息框、消息类型框和角色框。

    此操作现已设置为编码并将 RosettaNet 消息发送到客方合作伙伴。

  4. 若要发送编码的 RosettaNet 消息,请按照以下常规步骤为方案添加相应的操作。 提供操作所需发送消息的值。

    此示例使用HTTP操作,该操作已重命名为HTTP - 向伙伴发送编码消息。 这些值是从 RosettaNet 编码操作中输出的,并通过动态内容列表添加。

    屏幕截图显示了附带示例 URI、标头和正文值的重命名 HTTP 操作。

    根据 RosettaNet 标准,只有在 PIP 定义的所有步骤完成后,业务事务才会完成。 主机合作伙伴将编码的消息发送到来宾合作伙伴后,主机将等待信号和确认。

  5. 在工作流中,添加一个等待响应的 RosettaNet 操作。 在操作信息窗格中,提供以下值:

    参数 必选 说明
    正文 原始编码的消息。
    PIP 实例标识 编码消息的实例 ID。
    重试计数 为编码和发送消息而重试的次数。
    角色 主方合作伙伴角色。

    RosettaNet行动的等待持续时间和重试次数基于PIP配置。

    屏幕截图显示了 RosettaNet 等待响应操作,以及正文框、PIP 实例标识框、重试计数框和角色值框。

    如果 RosettaNet作未收到响应,该作将生成 失败通知

  6. 若要处理重试尝试,请始终将 RosettaNet 的操作放入 Until 循环中,以发送编码消息并等待响应,例如:

    设计器的屏幕截图,其中“Until”循环包含用于编码和发送消息以及等待响应的操作。