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

使用 Azure 逻辑应用程序中的工作流交换 X12 消息

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

若要在使用 Azure 逻辑应用创建的工作流中发送和接收 X12 消息,请使用 X12 连接器,它提供用于支持和管理 X12 通信的操作。

本操作指南介绍如何向现有的逻辑应用工作流添加 X12 编码和解码操作。 X12 连接器不包含任何触发器,因此你可以使用任何触发器来启动工作流。 本指南中的示例使用“请求”触发器

连接器技术参考

X12 连接器具有一个适用于多租户 Azure 逻辑应用、单租户 Azure 逻辑应用中的工作流的版本。 有关 X12 连接器的技术信息,请参阅以下文档:

先决条件

  • Azure 帐户和订阅。 如果没有 Azure 订阅,请注册一个免费 Azure 帐户

  • 一个可以在其中定义和存储项目(如贸易合作伙伴、协议、证书等)的集成帐户资源,用于企业集成和 B2B 工作流。 此资源必须满足以下要求:

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

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

    • 定义参与工作流的参与方之间的 X12 协议。 每个协议需要指定主机和来宾合作伙伴。 你与其他合作伙伴之间的消息中的内容必须与协议类型匹配。 有关接收和发送消息时要使用的协议设置的信息,请参阅 X12 消息设置

      重要

      如果使用健康保险流通与责任法案 (Health Insurance Portability and Accountability Act, HIPAA) 架构,则需要在协议中添加 schemaReferences 部分。 有关详细信息,请参阅 HIPAA 架构和消息类型

    • 定义用于 XML 验证的架构

      重要

      如果使用健康保险流通与责任法案 (HIPAA) 架构,请确保查看 HIPAA 架构和消息类型

  • 无论使用的是“消耗”还是“标准”逻辑应用工作流,逻辑应用资源可能需要集成帐户的链接:

    逻辑应用工作流 需要链接?
    消耗 需要连接和指向集成帐户的链接。 可以在将 X12 操作添加到工作流时创建连接。
    Standard 需要连接到集成帐户,但不需要链接。 可以在将 X12 操作添加到工作流时创建连接。
  • 要在其中使用 X12 操作的逻辑应用资源和工作流。

    有关详细信息,请参阅以下文档:

编码 X12 消息

“编码为 X12 消息”操作执行以下任务:

  • 通过匹配发送方和接收方上下文属性来解析协议。
  • 序列化 EDI 交换,并将 XML 编码的消息转换成交换中的 EDI 交易集。
  • 应用交易集标头和尾部段。
  • 为每个传出交换生成交换控制编号、组控制编号和交易集控制编号。
  • 替换有效负载数据中的分隔符。
  • 验证 EDI 和特定于合作伙伴的属性。
    • 针对消息架构进行的交易集数据元素架构验证。
    • 对交易集数据元素进行的 EDI 验证。
    • 对交易集数据元素进行的扩展验证。
  • 请求技术和/或功能确认(如果已配置)。
    • 作为标头验证的结果生成技术确认。 技术确认报告地址接收方进行的交换标头和尾部处理的状态。
    • 作为正文验证的结果生成功能确认。 功能确认报告在处理收到的文档时遇到的每个错误。
  1. Azure 门户的设计器中,打开你的逻辑应用资源和工作流。

  2. 在设计器中,按照这些常规步骤将名为“按协议名称编码为 X12 消息”的 X12 操作添加到工作流

    注意

    如果要改为使用“按标识编码为 X12 消息”操作,则稍后必须提供其他值,例如 X12 协议指定的“发送方标识符”和“接收方标识符”。 你还必须指定“要编码的 XML 消息”,该消息可以是触发器的输出,也可以是前面操作的输出。

  3. 当系统提示时,请提供集成帐户的以下连接信息:

    properties 必选 说明
    连接名称 连接名称
    集成帐户 从可用的集成帐户列表中,选择要使用的帐户。

    例如:

    屏幕截图显示了名为“按协议名称编码为 X12 消息”的操作的消耗工作流和连接信息。

  4. 完成操作后,选择“创建”。

  5. 在 X12 操作信息框中,提供以下属性值:

    properties 必选 说明
    X12 协议的名称 要使用的 X12 协议。
    要编码的 XML 消息 要编码的 XML 消息
    其他参数 此操作包括以下其他参数:

    - 数据元素分隔符
    - 组件分隔符
    - 替换字符
    - 段终止符
    - 段终止符后缀
    - 控制版本号
    - 应用程序发送方标识符/代码 GS02
    - 应用程序接收方标识符/代码 GS03

    有关详细信息,请查看 X12 消息设置

    例如,可以使用“请求”触发器输出的正文内容作为 XML 消息有效负载:

    屏幕截图显示消耗工作流、名为“按协议名称编码到 X12 消息”的操作以及操作属性。

解码 X12 消息

“解码 X12 消息”操作执行以下任务:

  • 针对贸易合作伙伴协议验证信封。

  • 验证 EDI 和特定于合作伙伴的属性。

    • EDI 结构验证和扩展架构验证
    • 交换信封结构验证
    • 针对控制架构对信封进行架构验证
    • 针对消息架构进行的交易集数据元素架构验证
    • 对交易集数据元素进行的 EDI 验证
  • 验证交换、组和交易集控制编号不重复。

    • 针对以前收到的交换检查交换控制编号。
    • 针对交换中的其他组控制编号检查组控制编号。
    • 针对该组中的其他事务集控制编号检查事务集控制编号。
  • 将交换拆分为交易集,或保留整个交换:

    • 将交换拆分为交易集或在出错时暂停交易集:分析每个交易集。 X12 解码操作仅将未通过验证的事务集输出到 badMessages,并将剩余事务集输出到 goodMessages

    • 将交换拆分为交易集或在出错时暂停交换:分析每个交易集。 如果交换中的一个或多个交易集未能通过验证,X12 解码操作会将该交换中的所有交易集输出到 badMessages

    • 保留交换或在出错时暂停交易集:保留交换并处理整个批量交换。 X12 解码操作仅将未通过验证的事务集输出到 badMessages,并将剩余事务集输出到 goodMessages

    • 保留交换或在出错时暂停交换:保留交换并处理整个批量交换。 如果交换中的一个或多个交易集未能通过验证,X12 解码操作会将该交换中的所有交易集输出到 badMessages

  • 生成技术和功能确认(如果已配置)。

    • 作为标头验证的结果生成技术确认。 技术确认报告地址接收方进行的交换标头和尾部处理的状态。
    • 作为正文验证的结果生成功能确认。 功能确认报告在处理收到的文档时遇到的每个错误。
  1. Azure 门户的设计器中,打开你的逻辑应用资源和工作流。

  2. 在设计器中,按照这些常规步骤将名为“解码 X12 消息”的 X12 操作添加到工作流

  3. 如果出现提示,请为你的集成帐户提供以下连接信息:

    properties 必选 说明
    连接名称 连接名称
    集成帐户 从可用的集成帐户列表中,选择要使用的帐户。

    例如:

    屏幕截图显示了名为“解码 X12 消息”的操作的消耗工作流和连接信息。

  4. 完成操作后,选择“创建”。

  5. 在 X12 操作信息框中,提供以下属性值:

    properties 必选 说明
    要解码的 X12 平面文件消息 要解码的平面文件格式的 X12 消息

    注意:消息数组的 XML 消息有效负载或内容(无论好坏)均采用 base64 编码。 因此,必须使用用于处理此内容的表达式。 例如,以下表达式将消息内容处理为 XML:

    xml(base64ToBinary(item()?['Body']))
    其他参数 此操作包括以下其他参数:

    - 保留交换
    - 出错时暂停交换

    有关详细信息,请查看 X12 消息设置

    例如,可以使用“请求”触发器输出的正文内容作为 XML 消息有效负载,但必须先使用表达式预处理此内容:

    屏幕截图显示消耗工作流、名为“解码 X12 消息”的操作以及操作属性。

后续步骤