Groups | Blog | Home
all groups > sql server reporting services > november 2007 >

sql server reporting services : Reports: Internet access


Cesar
11/2/2007 11:27:02 AM
We have our webserver (http://www.mywebserver ) and the reporting services
2000 running on a different intranet server ( http://myrs2000). For some
time, we have exposed some RS reporting using the ReportViewer object on
several intranet web applications as well as within Sharepoint portal server
with no problem at all.

Now, there's a need to expose one RS report over the internet within a
webapplication hosted on our webserver. The first attempt was to use the
ReportViewer object that we've used in the past; something like the following:

<cc1:ReportViewer id="rv" runat="server"
ServerUrl="http://myrs2000/reportserver" ReportPath="/SalesReport
Width="850px" Height="600px"></cc1:ReportViewer>

We this application (webpage) is accesed via the intranet, everything works
fine; but it doesn't when accesed over the internet. Instead of displaying
the report-manager-window in a frame; we get something like "Internet
explorer cannot open this page".
Then I found that an additional tag (ReportServerExternalUrl) had to be
added to the RSWebApplication.config; although probably this has notting to
do with the ReportViewer object.

Then I added a web reference to the ReportServer webservice
(http://myrs2000/reportserver/reportservice.asmx) and then added some c# code
to render the reporting on the web page and everything works fine (even from
the Internet); it's just that this reports has some complexity (e.g liked
reports) and thefore it's best to display it with the ReportViewer object.

Apart for having to add some code for the webservice call to work, like
adding network credentials; why this approach works and the other doesn't?
Any ideas as to what it's missing from the first approach (ReportViewer) ?
Why is it not working?
Is it neccesary to add the ReportServerExternalUrl with a value something
like http://myReportPortal,com for the ReportViewer object to work? And use
this value in the ServerUrl of the report viewer property ?

Thanks in advance.
Regards,
EMartinez
11/3/2007 3:45:42 AM
[quoted text, click to view]


The Report Manager and SSRS require domain user access to work
correctly. The web service allows for a trusted domain user account to
be used (i.e., network credentials), where as the report viewer
control does not default to an internal domain user account. You can
try either setting the connection to an internal domain account
programmatically during the rendering of the report viewer -or- use
the SSRS web service to export the report to a predefined format and
then view it in a web page. Hope this helps.

Regards,

Enrique Martinez
Sr. Software Consultant
AddThis Social Bookmark Button