0

我有一个想通过报表执行 Web 服务连接到的 Azure Reporting Services 实例。我已经参考了这篇文章进行连接。但是,我收到一个错误...

该服务的网址是:

i593ehr-i.reporting.windows.net

我连接到:

i593ehr-i.reporting.windows.net/ReportServer/ReportExecution2005.asmx

并下载了 WSDL 文件。应该注意的是使用的文档ReportExecution2010.asmx,但这并没有直接指向 WSDL 文件...我使用文件中提供的命令来生成代理类。然后我使用此代码进行连接:

var service = new ReportExecutionService();
service.CookieContainer = new CookieContainer();
service.Credentials = new NetworkCredential("report", "******", "i593ehr-i.reporting.windows.net");
service.LoadReport2(reportPath, null);
string extension;
string mimeType;
string encoding;
Warning[] warnings;
string[] streamIds;
var reportData = service.Render("PDF", null, out extension, out mimeType, out encoding, out warnings, out streamIds);
File.WriteAllBytes(outputFile, reportData);

它正在返回消息:

The Authentication Extension threw an unexpected exception or returned a value that is not valid: identity==null. (rsAuthenticationExtensionError)

我究竟做错了什么?

4

1 回答 1

0

事实证明,我需要使用该LogonUser方法而不是 NetworkCredentials,文档指定但我必须忽略它......代码应该是:

service.LogonUser("report", "******", "i593ehr-i.reporting.windows.net");
于 2013-08-26T21:46:08.490 回答