【问题标题】:Logic app / Service Bus / Xml parsing逻辑应用/服务总线/Xml 解析
【发布时间】:2018-03-16 10:17:47
【问题描述】:

我在 Azure 逻辑应用中处理 xml 消息时遇到问题。我读了很多关于类似问题的帖子,但不知何故它对我不起作用:-)

我的情况:

我从逻辑应用向服务总线发布了一条 xml 消息。似乎消息只能在使用 Base64 编码时发送到主题。所以我使用以下内容:

                    "ContentData": "@{base64(outputs('Compose_first_XML_message'))}",
                    "ContentType": "Application/xml"

请注意,内容已经具有这种格式:

"$content-type": "application/xml;charset=utf-8",
"$content": "PG5zMjpNZXRlb0RhdGEgeG1sbnM6bnMyPSJodHRwOi8vR2R...

执行此操作后,我看到消息已传递到服务总线主题。 Service Bus Explorer 工具显示此 MessageText:

[{"$content-type":"application/xml;charset=utf-8","$content":"PG5zMjpNZXRlb0RhdGEgeG1sbnM6bnMyPSJodHRwOi8vR2RmLkNvcmUuU2NoZW1hcy5NZXRlb0RhdGEudjEwMCI+DQogIDxJZD5aTV9USV9PVVRTSURFPC9JZD4NCiAgPFZhbHVlPjkuOTwvVmFsdWU+DQogIDxUaW1lU3RhbXA+MTQtTUFSLTIwMTggMTE6MTA6MDA8L1RpbWVTdGFtcD4NCiAgPG5zMTpNZXRhSW5mbyB4bWxuczpuczE9Imh0dHA6Ly9HZGYuQ29yZS5TY2hlbWFzLk1ldGFJbmZvLnYxMDIiPg0KICAgIDxTb3VyY2VTeXN0ZW0+R3NlcG4uZXh0LldlYldlYXRoZXJTdGF0aW9uPC9Tb3VyY2VTeXN0ZW0+DQogICAgPFNvdXJjZVN..."}]

然后我有另一个逻辑应用程序,它由有关此主题的消息触发。我想执行 Xml 转换操作。这个动作的输入代码是:

 "content": "@{xml(base64toString(triggerBody()?['ContentData']))}"

导致这个错误:

无效模板。无法在“1”行和“2610”列的操作“Transform_XML”输入中处理模板语言表达式:“模板语言函数“xml”参数无效。提供的值无法转换为 XML:'根级别的数据无效。第 1 行,位置 1。'。使用详情请参阅https://aka.ms/logicexpressions#xml。'。

感谢阅读 ;-) 我在这里做错了什么...?

【问题讨论】:

    标签: xml azureservicebus azure-logic-apps


    【解决方案1】:

    您是否使用 Transform_XML 形状?不需要转成XML,只需要传递内容即可:

    "content": "@{base64toString(triggerBody()?['ContentData'])}"
    

    【讨论】:

    • 感谢您的回复!我确实使用了 Transform_XML 形状。当我使用您的建议时,我收到此错误:InvalidXml。提供的内容必须是 XML 内容类型。输入看起来像: "content": "[{\"$content-type\":\"application/xml;charset=utf-8\",\"$content\":\"PG5zMjpNZXRlb0RhdGEgeG1sbnM6bnMyPSJodHRwOi..."} ]", "integrationAccount": { "map": { "name": "bla_2_blabla" }
    【解决方案2】:

    好的,解决了:

    "@xml(base64ToString(json(base64ToString(triggerBody()?['ContentData']))[0].$content))"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-11
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多