1
votes

I am having an issue embedding my report into an aspx page.

Here's my setup:
1 Server running SQL Server 2005 and SQL Server 2005 Reporting Services
1 Workstation running XP and VS 2005
The server is not on a domain.
Reporting Services is a default installation.

I have one report called TestMe in a folder called TestReports using a shared datasource.

If I view the report in Report Manager, it renders fine. If I view the report using the http ://myserver/reportserver url it renders fine. If I view the report using the http ://myserver/reportserver?/TestReports/TestMe it renders fine. If I try to view the report using http ://myserver/reportserver/TestReports/TestMe, it just goes to the folder navigation page of the home directory.

My web application is impersonating somebody specific to get around the server not being on a domain. When I call the report from the report viewer using http ://myserver/reportserver as the server and /TestReports/TestMe as the path I get this error:

For security reasons DTD is prohibited in this XML document. To enable DTD processing set the ProhibitDtd property on XmlReaderSettings to false and pass the settings into XmlReader.Create method.

When I change the server to http ://myserver/reportserver? I get this error when I run the report:

Client found response content type of '', but expected 'text/xml'. The request failed with an empty response.

I have been searching for a while and haven't found anything that fixes my issue. Please let me know if there is more information needed.

Thanks in advance,
Kendra

1

1 Answers

2
votes

There are two virtual directories of interest with SSRS.

http://myserver/reportserver is where the web services are. http://myserver/reports is where the Report Manager interface is.

http ://myserver/reportserver?/TestReports/TestMe works because you're going to the web services and passing in a parameter of the 'address' of the report you want. Notice the ? in there, indicating that the rest is a querystring parameter

http ://myserver/reportserver/TestReports/TestMe is trying to go a subdirectory of the virtual directory, which doesn't really exist.

To get your system working using anonymous access, you'll need to tell IIS to be running your website's application pool as a known user, which has sufficient permission to view the report. You can set this up in Report Manager (http://myserver/reports).

See how you go - good luck.