我们已经成功地将我们的SSRS服务器从2005年升级到2008年。现在,当我们打开报告时,报告将转换为2008年,我们可以对设计者进行更改并保存。但是当我点击预览时,我在BIDS中遇到以下错误。我们错过了什么吗?
System.ArgumentNullException: No message was deserialized prior to calling the DispatchChannelSink.
Parameter name: requestMsg
at System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.Http.HttpHandlerTransportSink.HandleRequest(HttpContext context)
at System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.InternalProcessRequest(HttpContext context)
答案 0 :(得分:1)
终于找到了问题所在。当对BIDS客户端和我们的App Server之间交换的数据进行网络嗅探时,跟踪报告内容类型为TEXT / XML ...但是我们使用二进制格式化器进行客户端服务器通信,因此它不应该是text / xml和应该只是一个带有八位字节流内容类型的HTTP帖子。
由于BIDS作为单独的进程运行,因此在应用程序文件夹中找不到配置文件,因此远程处理使用SOAP格式化程序的默认设置 - 因此text / xml内容类型和结果错误。
因此我们需要一个二进制格式化程序,我们通过将配置文件复制到与BIDS exe相同的文件夹(在我的系统上的路径为:C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ Common7 \ IDE)预览然后开始工作。