Soap 无法识别的SSRS参数

Soap 无法识别的SSRS参数,soap,reporting-services,parameters,Soap,Reporting Services,Parameters,我正在开发一个SSIS 2012包,它使用脚本任务通过使用SOAP的web服务从SSRS服务器加载和呈现SSRS 2012报告。我的问题在于设置参数值的代码。当下面的代码运行时,当它尝试执行rs.SetExecutionParameters方法时,我会收到以下SOAP错误消息: Microsoft.ReportingServices.Diagnostics.Utilities.UnknownReportParameterException:试图设置此报表中未定义的报表参数“prmDomainID

我正在开发一个SSIS 2012包,它使用脚本任务通过使用SOAP的web服务从SSRS服务器加载和呈现SSRS 2012报告。我的问题在于设置参数值的代码。当下面的代码运行时,当它尝试执行rs.SetExecutionParameters方法时,我会收到以下SOAP错误消息:

Microsoft.ReportingServices.Diagnostics.Utilities.UnknownReportParameterException:试图设置此报表中未定义的报表参数“prmDomainID”。

然而,如果我在设计模式下打开报告,参数显然就在那里。在运行时检查execInfo变量,也会显示参数在那里。我尝试删除服务器上的报告并重新部署它,但没有成功。我尝试更改参数名称以包含前导“@”符号,但也没有成功。我已确保参数数据类型(整数)与我传入的值类型匹配。我在谷歌上搜索了几个小时,似乎没有什么东西能让它识别我输入的参数。(注意prmDomainID参数设置为可见。不确定这是否重要。)

我错过了什么

Dim rs As New ReportExecutionService
Dim format As String = "HTML4.0"
Dim mimeType As String = Nothing
Dim historyID As String = Nothing
Dim deviceInfo As String = Nothing
Dim extension As String = Nothing
Dim encoding As String = Nothing
Dim warnings() As Warning = Nothing
Dim streamIDs() As String = Nothing
Dim results() As Byte
Dim execInfo As New ExecutionInfo
Dim parameters(1) As ParameterValue

parameters(0) = New ParameterValue()
parameters(0).Name = "prmDomainID"
parameters(0).Value = "15"

With rs
    .Credentials = System.Net.CredentialCache.DefaultCredentials
    execInfo = .LoadReport(ReportPath, historyID)
    .SetExecutionParameters(parameters, "en-us")

    results = .Render(format, deviceInfo, extension, mimeType, encoding, warnings, streamIDs)
End With

Return System.Text.Encoding.Default.GetString(results)

你让它起作用了吗?我看了又看——我看到的唯一一件事是我看不到您的ReportPath设置在哪里——但我认为这是因为您在execInfo中获得了数据。。。所以我看到的另一件事是你没有设置ExecutionHeaderValue

因此,添加此代码并尝试一下

Dim execHeader as New ExecutionHeader()
rs.ExecutionHeaderValue = execHeader
确保将其放在
execInfo=.LoadReport(ReportPath,historyID)之前

我试图将我的c#代码转换为VB,所以您可能需要验证语法