我迁移了在 Windows Server 2003 Std 上运行的 Reporting Services 2005 安装。32 位到运行带有 SQL Server 和 Reporting Services 2012 的 Windows Server 2008 Enterprise 32 位(不是 2008 R2)的新服务器。
一切正常,直到我们尝试从我们的应用程序运行报告,该应用程序有一个运行报告的自定义类。它们在 2005 年运行良好,但在 2012 年将无法运行。
具体错误是:
客户端发现响应内容类型为“”,但预期为“文本/xml”。
方法中抛出错误:
[System.Web.Services.Protocols.SoapHeaderAttribute("SessionHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.InOut)]
[System.Web.Services.Protocols.SoapHeaderAttribute("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices/Render" +
"", RequestNamespace="http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices", ResponseNamespace="http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("Result", DataType="base64Binary")]
public System.Byte[] Render(string Report, string Format, string HistoryID, string DeviceInfo, ParameterValue[] Parameters, DataSourceCredentials[] Credentials, string ShowHideToggle, out string Encoding, out string MimeType, out ParameterValue[] ParametersUsed, out Warning[] Warnings, out string[] StreamIds) {
object[] results = this.Invoke("Render", new object[] {
Report,
Format,
HistoryID,
DeviceInfo,
Parameters,
Credentials,
ShowHideToggle});
Encoding = ((string)(results[1]));
MimeType = ((string)(results[2]));
ParametersUsed = ((ParameterValue[])(results[3]));
Warnings = ((Warning[])(results[4]));
StreamIds = ((string[])(results[5]));
return ((System.Byte[])(results[0]));
}
同样,这在 2005 SSRS 上运行良好,但在 2012 SSRS 上运行良好。
任何想法可能是什么问题?任何帮助,将不胜感激。
谢谢。何塞