通过 Azure 逻辑应用在标准工作流中使用架构分析 XML(预览版)

适用于:Azure 逻辑应用(标准)

重要

此功能为预览版,受 Azure 预览版补充使用条款约束。

在企业集成企业到企业 (B2B) 或 BizTalk 迁移方案中,可能必须分析 XML 文档。 标准逻辑应用工作流可以使用名为“使用架构分析 XML”的操作来分析 XML,该操作需要 XSD 架构

例如,假设你定期接收使用 XML 作为交换格式的客户订单或发票,并且需要在 Azure 逻辑应用的工作流设计器中访问各个 XML 元素。

限制

此操作目前尚不支持消耗逻辑应用资源和工作流

先决条件

  • Azure 帐户和订阅。 如果还没有订阅,请注册 Azure 帐户

  • 已使用触发器启动一个标准逻辑应用工作流,以便可以将“使用架构分析 XML”操作添加到工作流中

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

    • 与逻辑应用资源所在的同一个 Azure 订阅相关联。

    • 与你打算在其中使用“使用架构分析 XML”操作的逻辑应用资源位于同一位置或 Azure 区域

    • 如果使用标准型逻辑应用资源和工作流,则可以根据以下情况将集成帐户链接到逻辑应用资源并且/或者直接将 XSD 架构上传到逻辑应用资源:

      • 如果你已经有一个包含所需项目或要使用的项目的集成帐户,可以将该集成帐户链接到要在其中使用项目的多个标准型逻辑应用资源。 这样,就不必将 XSD 架构上传到每个单独的逻辑应用。 有关详细信息,请查看将逻辑应用资源链接到集成帐户

      • 如果没有集成帐户或仅计划在同一逻辑应用资源中跨多个工作流使用项目,则可以使用 Azure 门户或 Visual Studio Code 将架构直接添加到逻辑应用资源

      因此,如果你没有集成帐户,或者你不需要集成帐户,可以使用上传选项。 否则,可以使用链接选项。 采用上述任一方式,都可以在同一逻辑应用资源中跨所有子工作流使用这些项目。

    你仍需要一个集成帐户,用来存储其他项目(例如合作伙伴、协议和证书),以及使用 AS2X12EDIFACT 操作。

  • 要与“使用架构分析 XML”操作一起使用的 XSD 架构。 请确保此架构包含根元素,如以下示例所示:

    <xs:element name="Root">
        <....>
    </xs:element>
    

添加“使用架构分析 XML”操作

  1. Azure 门户中,打开设计器中的标准逻辑应用和工作流。

  2. 如果你有一个没有触发器的空白工作流,请按照以下常规步骤添加所需的任何触发器。 否则,继续执行下一步。

    此示例使用请求触发器。

  3. 在你要添加“使用架构分析 XML”操作的工作流步骤下,按照以下常规步骤添加名为“使用架构分析 XML”的操作

  4. 在“内容”框中,指定要使用 HTTP 请求中接收的任何 XML 数据分析的 XML 内容。

    1. 若要从工作流中的上一个操作中选择输出,请在“使用架构分析 XML”操作中选择“内容”框,然后选择动态内容列表选项(闪电图标)

    2. 从动态内容列表中,选择要分析的内容的令牌。

      此示例从触发器中选择“正文”令牌。

      屏幕截图显示了打开的动态内容列表的标准工作流。

  5. 从“源”列表中,选择 XSD 架构上传到的位置:LogicApp 资源或 IntegrationAccount

  6. 从“名称”列表中选择你的 XSD 架构

  7. 完成后,保存工作流。

    现已完成“使用架构分析 XML”操作的设置。 在实际应用中,你可能需要将已分析的数据存储在业务线 (LOB) 应用(如 Salesforce)中。 若要将已分析的输出发送到 Salesforce,请添加 Salesforce 操作。

  8. 若要测试分析操作,请触发并运行工作流。 例如,对于“请求”触发器,将请求发送到触发器的终结点 URL

    “使用架构分析 XML”操作在工作流被触发后运行,以及在 XML 内容可用于分析时运行

高级参数

下表描述了此操作中可用的高级参数:

参数 价值 说明
DTD 处理 - 忽略
Parse
- 禁止
指定如何处理 XML 文档类型定义 (DTD)。
规范化 XML “否”或“是” 是否规范化 XML 内容。
忽略空格? “否”或“是” 是要分析还是忽略无意义的空白字符,例如 XML 文档中的空格、制表符和空白行。
忽略 XML 处理指令? “否”或“是” 是要遵循还是忽略 XML 处理指令。
忽略 XML 属性 “否”或“是” 是要写入还是忽略 XML 属性。
使用完全限定的名称? “否”或“是” 是要使用更简单的本地名称还是完全限定的 XML 名称。
根节点限定名称 <root-node-qualified-name> 如果架构包含多个未引用的元素定义,则使用根节点的限定名称。