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

如何将动态报表参数传递给SSRS报表的XML Web Service查询?

SSRS报表动态传递参数给SOAP XML Web Service的解决方案

核心解决步骤

直接将SOAP查询整合成表达式,把报表参数嵌入到XML请求中,具体操作如下:

  1. 打开数据集属性,切换到「查询」选项卡,点击查询框右上角的fx按钮打开表达式编辑器。
  2. 在表达式编辑器中,将原本的SOAP XML字符串用双引号包裹,同时把硬编码的ProjectId替换为报表参数引用,示例代码如下:
    "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:crm=""http://example.com/crm"">" &
    "<soapenv:Header/>" &
    "<soapenv:Body>" &
    "<crm:GetProjectData>" &
    "<crm:ProjectId>" & Parameters!ProjectId.Value & "</crm:ProjectId>" &
    "</crm:GetProjectData>" &
    "</soapenv:Body>" &
    "</soapenv:Envelope>"
    
    注意:XML中的双引号需要转义为两个连续双引号(""),参数直接用Parameters!ProjectId.Value引用即可。
  3. 确认数据集的「数据源类型」为XML,且数据源已正确指向目标WSDL地址。
  4. 不要在数据集属性的「参数」页添加任何参数——这里的参数是给数据源级别的配置用的,SOAP请求的参数已经通过表达式嵌入到XML中了。
  5. 保存设置后预览报表,报表参数会自动传递到SOAP请求中,不会弹出手动输入参数的弹窗。

常见问题排查

  • 若表达式中的XML格式错误,会导致服务调用失败。建议先在表达式中保留硬编码的ProjectId测试,确认能正常获取数据后,再替换为参数引用。
  • 确保报表参数ProjectId的类型(如字符串、整数)与Web Service要求的类型完全一致,避免因类型不匹配导致请求失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 04:34:50