你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
通过 Azure 逻辑应用使用标准工作流中的架构撰写 XML(预览版)
适用于:Azure 逻辑应用(标准)
重要
此功能为预览版,受 Microsoft Azure 预览版补充使用条款限制。
在企业集成企业到企业 (B2B) 或 BizTalk 迁移方案中,可能需要从 JSON 数据创建 XML 文档。 标准逻辑应用工作流可以使用名为“使用架构撰写 XML”的操作来撰写 XML 文档,该操作需要 XSD 架构。
例如,假设从 Azure 服务总线接收 JSON 数据,则需要以 XML 格式将数据发送到 FTP 服务器。 可以将 JSON 数据用作“使用架构撰写 XML”操作的内容,并使用源数据创建新的 XML 文档。 然后,可以将此 XML 数据提交到 FTP 服务器。
限制
此操作目前尚不支持消耗逻辑应用资源和工作流。
先决条件
Azure 帐户和订阅。 如果没有订阅,可以注册免费的 Azure 帐户。
已使用触发器启动一个标准逻辑应用工作流,以便可以将“使用架构撰写 XML”操作添加到工作流中。
一个可以在其中定义和存储项目(如贸易合作伙伴、协议、证书等)的集成帐户资源,用于企业集成和 B2B 工作流。 此资源必须满足以下要求:
与逻辑应用资源所在的同一个 Azure 订阅相关联。
与你打算在其中使用“使用架构撰写 XML”操作的逻辑应用资源位于同一位置或 Azure 区域。
如果使用标准逻辑应用资源和工作流,则可以根据以下情况将集成帐户链接到逻辑应用资源并且/或者直接将 XSD 架构上传到逻辑应用资源:
如果你已经有一个包含所需项目或要使用的项目的集成帐户,可以将该集成帐户链接到要在其中使用项目的多个标准型逻辑应用资源。 这样,就不必将 XSD 架构上传到每个单独的逻辑应用。 有关详细信息,请查看将逻辑应用资源链接到集成帐户。
如果没有集成帐户或仅计划在同一逻辑应用资源中跨多个工作流使用项目,则可以使用 Azure 门户或 Visual Studio Code 将架构直接添加到逻辑应用资源。
因此,如果你没有集成帐户,或者你不需要集成帐户,可以使用上传选项。 否则,可以使用链接选项。 采用上述任一方式,都可以在同一逻辑应用资源中跨所有子工作流使用这些项目。
你仍需要一个集成帐户,用来存储其他项目(例如合作伙伴、协议和证书),以及使用 AS2、X12 和 EDIFACT 操作。
要与“使用架构撰写 XML”操作一起使用的 XSD 架构。 请确保此架构包含根元素,如以下示例所示:
<xs:element name="Root"> <....> </xs:element>
添加“使用架构撰写 XML”操作
在 Azure 门户中,打开设计器中的标准逻辑应用和工作流。
如果你有一个没有触发器的空白工作流,请按照以下常规步骤添加所需的任何触发器。 否则,继续执行下一步。
此示例使用请求触发器。
在你要添加“使用架构撰写 XML”操作的工作流步骤下,按照以下常规步骤添加名为“使用架构撰写 XML”的操作。
从“源”列表中,选择 XSD 架构上传到的位置:LogicApp 资源或 IntegrationAccount。
从“名称”列表中选择你的 XSD 架构。
选择架构后,在“名称”列表中,将动态显示根元素的架构的 JSON 输入参数。
输入每个元素的值。
若要从工作流中的上一个操作中选择输出,请在“元素‘根’的 JSON 架构”部分选择属性框,然后选择动态内容列表选项(闪电图标)。
从动态内容列表中,选择要为每个属性撰写的内容的令牌。
对于可接受数组的属性,你可以选择“切换到输入整个数组”,该选项仅针对数组参数显示。
完成后,保存工作流。
现已完成“使用架构撰写 XML”操作的设置。 在实际应用中,你可能需要将已分析的数据存储在业务线 (LOB) 应用(如 Salesforce)中。 若要将已撰写的输出发送到 Salesforce,请添加 Salesforce 操作。
若要测试撰写操作,请触发并运行工作流。 例如,对于“请求”触发器,将请求发送到触发器的终结点 URL。
“使用架构撰写 XML”操作在工作流被触发后以及在 JSON 内容可用于撰写 XML 数据后运行。
高级参数
下表描述了此操作中可用的高级参数:
参数 | 价值 | 说明 |
---|---|---|
根节点限定名称 | <root-node-qualified-name> | 如果架构包含多个未引用的元素定义,则使用根节点的限定名称。 |
日期和时间格式 | <date-time-format> | 日期和时间格式说明符,例如“dddd, MMM dd yyyy HH:mm:ss: zzz”。 |
XML 编写器设置省略 XML 声明 | “否”或“是” | 是否省略 XML 声明。 |
XML 编写器设置属性上的新行 | “否”或“是” | 是否在新行上编写属性。 |
XML 编写器设置新行处理 | - 实体化 - 无 - 替换 |
指定如何处理换行符。 |
XML 编写器设置新行字符 | <new-line-string> | 要用于换行符的字符串。 |
XML 编写器设置缩进字符 | <indent-characters> | 缩进时要使用的字符串。 |
XML 编写器设置缩进 | “否”或“是” | 是否缩进元素。 |
XML 编写器设置编码 | 各种可用选项。 | 要使用的文本编码类型。 |
XML 编写器设置不转义 URI 属性 | “否”或“是” | 是否不转义 URI 属性。 |
XML 编写器设置一致性级别 | - Auto - Document - Fragment |
XML 编写器用于检查 XML 输出的一致性级别。 |
XML 编写器检查字符 | “否”或“是” | 是否确保文档中的所有字符都符合 XML 规范。 |
元素“根”的 JSON 架构。 Xmlns | <json-schema-root> | 用于声明 XML 文档中元素的命名空间的 XML 命名空间。 |
元素“根”的 JSON 架构。 UserDetails Xmlns | <json-schema-root> | 用于声明 XML 文档中元素的命名空间的 XML 命名空间。 |
元素“根”的 JSON 架构。 Status Xmlns | <json-schema-root> | 用于声明 XML 文档中元素的命名空间的 XML 命名空间。 |