使用 Azure 逻辑应用程序中的工作流交换 X12 消息
适用范围:Azure 逻辑应用(消耗型 + 标准型)
若要在使用 Azure 逻辑应用创建的工作流中发送和接收 X12 消息,请使用 X12 连接器,它提供用于支持和管理 X12 通信的操作。
本操作指南介绍如何向现有的逻辑应用工作流添加 X12 编码和解码操作。 X12 连接器不包含任何触发器,因此你可以使用任何触发器来启动工作流。 本指南中的示例使用“请求”触发器。
连接器技术参考
X12 连接器具有一个适用于多租户 Azure 逻辑应用、单租户 Azure 逻辑应用中的工作流的版本。 有关 X12 连接器的技术信息,请参阅以下文档:
连接器参考页,其中描述了连接器的 Swagger 文件记录的触发器、操作和限制
先决条件
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 验证。
- 对交易集数据元素进行的扩展验证。
- 请求技术和/或功能确认(如果已配置)。
- 作为标头验证的结果生成技术确认。 技术确认报告地址接收方进行的交换标头和尾部处理的状态。
- 作为正文验证的结果生成功能确认。 功能确认报告在处理收到的文档时遇到的每个错误。
在 Azure 门户的设计器中,打开你的逻辑应用资源和工作流。
在设计器中,按照这些常规步骤将名为“按协议名称编码为 X12 消息”的 X12 操作添加到工作流。
注意
如果要改为使用“按标识编码为 X12 消息”操作,则稍后必须提供其他值,例如 X12 协议指定的“发送方标识符”和“接收方标识符”。 你还必须指定“要编码的 XML 消息”,该消息可以是触发器的输出,也可以是前面操作的输出。
当系统提示时,请提供集成帐户的以下连接信息:
properties 必选 说明 连接名称 是 连接名称 集成帐户 是 从可用的集成帐户列表中,选择要使用的帐户。 例如:
完成操作后,选择“创建”。
在 X12 操作信息框中,提供以下属性值:
properties 必选 说明 X12 协议的名称 是 要使用的 X12 协议。 要编码的 XML 消息 是 要编码的 XML 消息 其他参数 否 此操作包括以下其他参数:
- 数据元素分隔符
- 组件分隔符
- 替换字符
- 段终止符
- 段终止符后缀
- 控制版本号
- 应用程序发送方标识符/代码 GS02
- 应用程序接收方标识符/代码 GS03
有关详细信息,请查看 X12 消息设置。例如,可以使用“请求”触发器输出的正文内容作为 XML 消息有效负载:
解码 X12 消息
“解码 X12 消息”操作执行以下任务:
针对贸易合作伙伴协议验证信封。
验证 EDI 和特定于合作伙伴的属性。
- EDI 结构验证和扩展架构验证
- 交换信封结构验证
- 针对控制架构对信封进行架构验证
- 针对消息架构进行的交易集数据元素架构验证
- 对交易集数据元素进行的 EDI 验证
验证交换、组和交易集控制编号不重复。
- 针对以前收到的交换检查交换控制编号。
- 针对交换中的其他组控制编号检查组控制编号。
- 针对该组中的其他事务集控制编号检查事务集控制编号。
将交换拆分为交易集,或保留整个交换:
将交换拆分为交易集或在出错时暂停交易集:分析每个交易集。 X12 解码操作仅将未通过验证的事务集输出到
badMessages
,并将剩余事务集输出到goodMessages
。将交换拆分为交易集或在出错时暂停交换:分析每个交易集。 如果交换中的一个或多个交易集未能通过验证,X12 解码操作会将该交换中的所有交易集输出到
badMessages
。保留交换或在出错时暂停交易集:保留交换并处理整个批量交换。 X12 解码操作仅将未通过验证的事务集输出到
badMessages
,并将剩余事务集输出到goodMessages
。保留交换或在出错时暂停交换:保留交换并处理整个批量交换。 如果交换中的一个或多个交易集未能通过验证,X12 解码操作会将该交换中的所有交易集输出到
badMessages
。
生成技术和功能确认(如果已配置)。
- 作为标头验证的结果生成技术确认。 技术确认报告地址接收方进行的交换标头和尾部处理的状态。
- 作为正文验证的结果生成功能确认。 功能确认报告在处理收到的文档时遇到的每个错误。
在 Azure 门户的设计器中,打开你的逻辑应用资源和工作流。
如果出现提示,请为你的集成帐户提供以下连接信息:
properties 必选 说明 连接名称 是 连接名称 集成帐户 是 从可用的集成帐户列表中,选择要使用的帐户。 例如:
完成操作后,选择“创建”。
在 X12 操作信息框中,提供以下属性值:
properties 必选 说明 要解码的 X12 平面文件消息 是 要解码的平面文件格式的 X12 消息
注意:消息数组的 XML 消息有效负载或内容(无论好坏)均采用 base64 编码。 因此,必须使用用于处理此内容的表达式。 例如,以下表达式将消息内容处理为 XML:xml(base64ToBinary(item()?['Body']))
其他参数 否 此操作包括以下其他参数:
- 保留交换
- 出错时暂停交换
有关详细信息,请查看 X12 消息设置。例如,可以使用“请求”触发器输出的正文内容作为 XML 消息有效负载,但必须先使用表达式预处理此内容: