You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Logic App中如何将XML内容存入字符串并提交至SOAP端点

在Azure Logic App中实现JSON转XML并以字符串提交至SOAP端点的方案

步骤1:JSON转换为XML(优化建议)

直接使用Logic App内置的JSON to XML操作,传入HTTP触发的JSON数据即可完成基础转换。如果需要严格匹配指定的XML模板结构:

  • 提前定义好XML的XSD Schema,转换时指定该Schema,确保生成的XML完全符合模板格式;
  • 简单场景下,也可以用Compose操作结合表达式手动拼接XML结构,精准控制节点内容。

步骤2:将XML内容存入字符串变量(关键解决方法)

你之前设置变量失败的核心问题是未将XML对象转为字符串格式,正确操作如下:

  1. 在Logic App的「变量」面板创建一个字符串类型的变量(例如命名为OrderXmlString);
  2. 在JSON转XML操作完成后,添加「设置变量」操作;
  3. 将变量的值通过表达式设置为XML转换结果的字符串形式:
    string(body('JSON_to_XML'))
    
    如果是从文件读取XML模板(如OneDrive/SharePoint),同样用string(body('读取文件内容'))将文件内容转为字符串后赋值给变量。

步骤3:提交至SOAP端点(优化建议)

使用HTTP操作完成SOAP请求提交:

  1. 请求方法选择POST,填写SOAP端点的URL;
  2. 构建请求体时,将<xml>标签的内容替换为字符串变量@{variables('OrderXmlString')},完整请求体示例:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <addOrderSoapIn>
          <id></id>
          <xml>@{variables('OrderXmlString')}</xml>
        </addOrderSoapIn>
      </soap:Body>
    </soap:Envelope>
    
  3. 请求头添加Content-Type,值设为text/xml; charset=utf-8,匹配SOAP端点的格式要求。

内容的提问来源于stack exchange,提问作者Seb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:40:28